LINUX.ORG.RU

Яр 0.4.0 разочаровывающий

 ,


2

2

Выложил очередной релиз Яра, «разочаровывающий». Дело идёт к заморозке проекта, работаю над ним до 1 февраля, а потом хлеб насущный буду зарабатывать. Найти спонсора за два года не удалось. Видимо, дело в недостаточной вере в успех, т.е. в отсутствии ощущения зрелости проекта, при которой можно называть сроки и нести за них ответственность.

Из последних конвульсий: теперь clcon поддерживает также CCL, а не только SBCL. Ну и Яр, соответственно, собирается и запускается под CCL под Linux и Windows. Зато я что-то сломал и образ SBCL под линуксом не сохраняется. С точностью до системы знаю. Впрочем, не суть важно.

Правы были те, кто говорил, что не нужно пытаться менять CL. Он хорошо защищён от изменений частоколом из грабель: если делаешь не совсем общепринятые вещи даже в рамках стандарта, например, свою readtable, проблем огребёшь по полной, и я их огрёб, и на них был истрачен ценный трудовой ресурс. А без всяких улучшений он слишком скучен для меня.

Если вдруг кому интересно, за последние месяцы немного поразбирался в SBCL, и пришёл к тому выводу, что можно наляпать много нового и интересного, но поскольку там всё внутри черт-те в каком состоянии, причём хронически, то по сути дела работать ничего не будет. Красивую показуху сделать можно. Я сделал черновик иммутабельных хеш-таблиц и струтур с рассуждениями о типах в них, а также сильно улучшил пошаговую отладку. После этого я пообщался с одним из разработчиков и, оказывается, они тоже мечтают про отладчик а-ля Visual Basic, но сделать его быстро не могут, т.к. примитивы, на которых он должен быть построен, низкокачественные. Сейчас, судя по коммитам, они их начали исправлять. Дай Бог, чтобы у них получилось. Однако я не вижу причины, по которой не может существовать инструментирующий отладчик для CL. Более того, он уже существует и называется lispdebug-0.92 - жаль, что лицензия подкачала.

Также отчасти разобрался в работе вывода типов. Там есть два механизма - собственно type inference и constraint propagation. Если о первом я имею кое-какое представление, то второй - вообще тёмный лес. Потому и захотел отладчик, чтобы лазить туда не с голыми руками, а вооружившись удобным инструментом. Но - не склалось у меня с SBCL.

В итоге теперь у Яра нет отладчика и не на что опереться в плане вывода типов. Может быть, попробую сделать «Яр на базе Typescript», хотя при отсутствии материальных ресурсов думается на эту тему тяжело - ясно, что создать серьёзный ЯП с инфраструктурой - это достаточно трудоёмко. Более трудоёмко, чем казалось сначала по факту написание за две недели транслятора с 1С 7.7 в CL.

Тем не менее, задел есть, можно продолжать потихоньку в хоббийном режиме. Правда, нафиг оно нужно, не совсем ясно, когда рядом ходят монстры типа JetBrains со своими Kotlin-ами.

Просто по темпам развития понятно, что они меня съедят в любом случае. Ну и честно говоря, я ожидал, что меня будут смешивать с говном на форумах за идею русскоязычного языка программирования. Но то, что к этой идее окажутся холодны Росатом, ФПИ, Касперский, 1С и фонд «Русский Мир» - к этому я был морально несколько не готов. Такое чувство, что никто не догоняет, что за вытеснением из обихода «неэффективного» русского языка может произойти и вытеснение с территории и самого населения, говорящего на «неэффективном» языке. Вроде как и Казахстан уже на латиницу переходит, и на Украине черт-те что. Нет, Россия спит. Впрочем, в одном месте мне указали на соседний вход и сказали, что нужно обязательно писать заявку на грант, но почему-то моральных сил пока нет. Может быть, через некоторое время появятся.

Попробую за оставшиеся 10 дней сделать для CCL инструментирующий пошаговый отладчик - тредов не будет, уж извините.

★★★★

А, да, PS. Clcon всё ещё уделывает atom-slime в пух и прах. По сути, сегодня есть три живых open-source IDE для CL: это EMACS, VIM и Clcon. Остальное либо ещё не родилось, либо уже умерло, либо и то, и то.

den73 ★★★★ ()

мечтают про отладчик а-ля Visual Basic
Sbcl 1999 - 2018

Как?! Как за 19 лет тулинг себе нормальный не напилить? Вот обколются своимим емаксами и отлаживают логами.

michey ()
Ответ на: комментарий от michey

Настоящие лисперы выше этого. Они постигают код телепатически. У них до сих пор даже вызов внешней программы нормально не работает.

den73 ★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)

я ожидал, что меня будут смешивать с говном на форумах
что к этой идее окажутся холодны Росатом, ФПИ, Касперский, 1С и фонд «Русский Мир» - к этому я был морально несколько не готов

У 1С свой язык, да и какого черта ты ждал?
В перечисленных корпорациях что, работают какие-то особые программисты исполненные русским духом и готовые писать на многословном и неэффективном языке с нулевой инфраструктурой, перспективами, идеями, просто ради идеи? Базовый язык — не киллерфича, этого не достаточно чтобы хоть кого-то перетянуть.

mersinvald ★★★ ()

1С не нужен русский. Хотя английский вариант языка пока остаётся опциональным (но в каждом релизе происходят переименования криво переведённых на английский методов), компания потихоньку пытается выползать на международные рынки.

anonymous ()

Такое чувство, что никто не догоняет, что за вытеснением из обихода «неэффективного» русского языка может произойти и вытеснение с территории и самого населения, говорящего на «неэффективном» языке

Да ты окончательно поехавший.

redgremlin ★★★★★ ()

Попробуй впилится в байкал-эльбрус-роснано проекты(вероятность близка к 0.01). Там явно не зватает Великого_и_Могучего с простым и понятным синтаксисом чтоб курсантов учить. Только я НХНП на кой тебе в бекэнде именно ЦЛ..

VKraft ()

Но то, что к этой идее окажутся холодны Росатом, ФПИ, Касперский, 1С и фонд «Русский Мир» - к этому я был морально несколько не готов.

Я так понимаю, что 73 в den73 означает год вашего рождения, 1973-й. Если это так, то для своего возраста вы потрясающе наивны.

А можно полюбопытствовать, чего вы ожидали? Почему эти организации должны были проявить интерес к вашей разработке? Только из-за того, что у вас кириллица для написания идентификаторов?

eao197 ★★★★★ ()
Ответ на: комментарий от VKraft

Х..к-х..к и в оборонку.
Лучше уж в РПЦ впиливаться, там и задачи могут быть интересные (т.е. безумные), и кириллица к месту, и вообще, в том, что касается языка, всегда действует принцип «чем неудобнее, тем лучше» - все как ТС любит.

thesis ★★★★★ ()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Не могу сказать за Swift, а вот Go и Dart нишевые языки, там свое понятие о нормальности. Ну и с учетом того, насколько хорошо Go заходит в массы, у Google таки получилось.

eao197 ★★★★★ ()
Ответ на: комментарий от eao197

Любые недостатки языка можно списать на нишевость, но от этого они не перестают быть недостатками.

В swift не осилили кроссплатформенность, при наличии бесконечных ресурсов. Понятно, что им это особо не нужно, но всё же.

В go не осилили какое-либо управление зависимостями.

И тд.

Ну а популярность языка тоже не особо показатель. Вон как питон зашел, что все теперь бегут на Go.

RazrFalcon ★★★ ()

Дело идёт к заморозке проекта, работаю над ним до 1 февраля, а потом хлеб насущный буду зарабатывать.

Наконец-то наш пациент пошел на поправку.

anonymous ()

окажутся холодны Росатом, ФПИ, Касперский, 1С и фонд «Русский Мир» - к этому я был моральн

А почему ты вообще думал, что им не похер на любое такое творение, включая даже упомнятый котлин? Я не понимаю ход твоих мыслей. Если предположить, что в этих организациях и есть люди, готовые оценить яр и имеющие вес в руководстве (что уже констрейнт тот еще), каким образом ты предполагал на них выйти, стандартной заявкой по эл.почте?

В целом вы здесь обречены. Если тебе предложат 50-минус-45 млн на разработку и развитие, ты откажешься 100%. Кроме того, ты хрен знает кто, поэтому даже предлагать не станут. Обречены заранее.

anonymous ()
Ответ на: комментарий от anonymous

Наконец-то наш пациент пошел на поправку.

Поц. пошёл на поправку, как только закончилась последняя банка тушёнки. И это правильно. Рыночек таких быстро порешает. Обколются своими лиспами и давай языки программирования и прочие операционки с редакторами писать.

Вместо того, что бы делать что-то полезное.

anonymous ()
Ответ на: комментарий от RazrFalcon

Любые недостатки языка можно списать на нишевость, но от этого они не перестают быть недостатками.

Недостатки есть у любого результата инженерной деятельности. Промышленно применяемые языки программирования здесь не исключение, поскольку являются результатом очень многих компромиссов.

Популярность и востребованность, так уж получилось, является одним из самых ярких показателей того, что результат компромиссов жизнеспособен и приносит практическую пользу.

Что до продукции компании Apple, то что-то не могу припомнить, чтобы Apple была знаменита своими именно софтверными разработками. Так что ожидать каких-то прорывов от Swift-а, не смотря на огромные ресурсы самой Apple, вряд ли стоит.

eao197 ★★★★★ ()

Ощущаю что начну холивар, но мне дейсвительно интересно узнать. Говорят что Scheme компактнее, как по стандарту, так и по имплементации. Не было бы тебе меньше работы если бы он был основой? Надо же оценивать свои силы, нет? При прочих равных ты мог бы выбирать то, или то, но в данной ситуации нету прочих равных

vertexua ★★☆☆☆ ()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от VKraft

В МЦСТ не стали даже разговаривать. Роснано про коммерциализацию , а не про разработку, я туда даже не ходил. Байкал надо опробовать. Насчёт курсантов (а особенно солдатов) - это действительно тема и была одна маленькая зацепка, но опять же, и до разговора лично со мной дело не дошло.

ЦЛ вообще-то велик и могуч как платформа, если скинуть со счетов его заброшенное состояние. Мне из собственного опыта ясно, как круто иметь инкрементную компиляцию по одной функции, и плюс к тому машкод. Т.е. если меня сегодня попытаться заставить писать на плюсах или жабе, то я, скорее всего, сменю профессию. А на лиспе писать можно. Из аналогов только Оберон, но там нужно полностью выгрузить модуль, чтобы его обновить, а это не то. Defvar-ы пропадают. Да и он вроде ещё хуже по степени поддержки.

den73 ★★★★ ()
Ответ на: комментарий от vertexua

Говорят что Scheme компактнее

Я рассчитывал опереться на систему типов, на все эти declare и the, к-рые в SBCL на вид со стороны очень хороши. На практике же там баги, которые команду не интересуют. Кроме того, я предпочитаю пермиссивные лицензии. Сейчас есть Chez. Когда я начинал, не было ничего. И далее, CL по дизайну рассчитан на инкрементную разработку, Scheme - на статику. Может быть, я чего-то здесь не знаю, но когда-то я смотрел на Scheme и не понравилось. Если бы я знал в 2015 году, каков SBCL, я бы посмотрел на альтернативы более внимательно.

den73 ★★★★ ()
Ответ на: комментарий от ckotinko

Я давно хотел свой ЯП, потому что все ЯП - это ужас. CL более-менее приближается к нормальному ЯП, но тоже ужас. А русификация - потому что за державу обидно. Если бы знал, что державе неактуально, может быть не впиливал русификацию. Но в ней есть и другой смысл - конкуренция между русскоязычными языками гораздо меньше, чем между англоязычными.

den73 ★★★★ ()
Ответ на: комментарий от eao197

чтобы Apple была знаменита своими именно софтверными разработками

Была ли знаменита или нет,но когда я увидел Мак и сравнил его с виндой, я сразу выпал в осадок от скорости его работы. Я всегда знал, что MS просто качает из людей деньги на новое железо, но что существуют просто нормальные системы - я не знал до того момента. Так что я думаю, что на качество работы Apple положиться можно.

den73 ★★★★ ()
Ответ на: комментарий от ckotinko

Про CMUCL я могу сказать, что это - в лучшем случае - поле для экспериментов, а в худшем - распил. Собственно, я где-то слышал, что слова «распил» и «откат» придумали как раз там, в США. DARPA выдаёт (по сей день) очень много грантов. ARPANET оказался среди них удачным, но это не значит, что остальные не были украдены. Т.е. нет, на качество DARPA положиться, вообще говоря, нельзя. А вот у Apple да, руки растут откуда надо. ObjectiveC тоже весьма неплох - это тебе не .Net какой-нибудь :)

den73 ★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

о когда я увидел Мак и сравнил его с виндой, я сразу выпал в осадок от скорости его работы.

Вообще-то, огрызки модифицировали БСДю, но тебе это знать не обязательно.

anonymous ()
Ответ на: комментарий от den73

Про CMUCL я могу сказать, что это - в лучшем случае - поле для экспериментов, а в худшем - распил.

ЦМУЦЛ - студенческая работа, что следует из названия. Твоя тупость безгранична!

Про ДАРПА - такой же бред.

anonymous ()
Ответ на: комментарий от den73

С другой стороны вот был СССР, который рулил соцблоком. И пихал русский как язык мировой революции. Это же ужас, 6 падежей, которые еще в множественном числе бывают. «1 чашка, 2 чашки, 5 чашек, 12 чашек, 21 чашка». Английскому такой хаос и не снился. Надо было поумерить националистический пыл и пушить эсперанто в соцлагере, не понятно почему это было против линии партии, так как чисто теоретически научно-инженерных подход к улучшению жизни народа был вполне совместим с официальной идеологией. 3 месяца обучения и ты обсуждаешь темы любой сложности почти не парясь.

Кириллица то как раз очень хороша, чтобы в этом убедиться нужо посмореть на ухищрения поляков по кодированию их фонетики в латинницу. Но на язык (русский или любой славянский, в украинском - 7 падежей) я бы не ориентировался, заставлять его изучать тех, кто его еще не знает - издеваться на людьми.

vertexua ★★☆☆☆ ()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от den73

Язык нужно разрабатывать тогда, когда он будет давать очень существенный профит. Например: Код, написанный на языке Haxe, может быть транслирован в код ActionScript 3, JavaScript, Java, C#, C++, Python, Lua, PHP, Apache CGI, а также в приложение Node.js. Тут сразу видно - напишешь раз, а потом можешь отлаженный код где угодно применять.

Или вот Kotlin компилируется также в JavaScript и на другие платформы через инфраструктуру LLVM. Тут тоже виден мощный потенциал и применимость. Да та же Vala - тоже нет смысла объяснять, уровень языка высок, возможности платформы интересны, принцип работы необычен - есть применимость.

А CL даже профи не каждый понюхает, куда уж курсантам, будь оно хоть кирилице и молодежном слэнге.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от mersinvald

Инфраструктура вокруг CL ненулевая, хотя в некоторых случаях она скорее отрицательная (asdf, маленькое комьюнити с комплексом элиты, отставшее от времени и не понимающее этого). Вообще, может ты не в курсе, но патриотизм сегодня в моде, правда не среди программистов. Но программисты не распределяют ресурсы, они их осваивают, поэтому их мнение привлекается только в качестве экспертного. Например, я получил такой отзыв: «на русском языке программирования все программы будут состоять из мата, поэтому такой язык делать нельзя». Задача состоит в том, чтобы написать бумагу так, чтобы заранее в ней так опустить программистов, чтобы их мнение было не учтено при принятии решения о выделении финансирования. У меня такая бумага есть, но нет собственно, самого достаточного прототипа, чтобы с ним идти. Или я слишком скромный :( И моя проблема состоит в том, что в большинстве случаев просто а-приори никто не пытается со мной пообщаться. Я засылаю людей, имеющих личные связи, к тем, кто занимает достаточно высокий пост и может принять нужное решение, и разговора просто не происходит. Видимо, что-то с моей силой намерения, не иначе.

den73 ★★★★ ()
Последнее исправление: den73 (всего исправлений: 3)