LINUX.ORG.RU

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

 ,


2

4

Выложил очередной релиз Яра, «разочаровывающий». Дело идёт к заморозке проекта, работаю над ним до 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 инструментирующий пошаговый отладчик - тредов не будет, уж извините.

★★★★★

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

Традиционная Java, традиционно применяемая, очень далека от realtime, но считается при этом «ЯП общего назначения»

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

ya-betmen ★★★★★
()

Найти спонсора за два года не удалось

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

русскоязычного языка программирования

кому нужно комьюнити окраниченое языковым барьером ? А переменные на русском я могу и питоне задавать

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

А переменные на русском я могу и питоне задавать

Русскоязычные функции/методы/макросы и т.д. можно заводить почти в любом современном языке.

nihirash ★★★
()
Ответ на: комментарий от ya-betmen

Я ничего не путаю, а просто я никогда не видел и продолжаю не видеть смысл рассматривать язык отдельно от реализации. Но если так, то 1С - это Тьюринг полный язык. Кроме этого, в нём есть Eval, полиморфные контейнеры, аналог замыканий (передача контекста), встроенный язык запросов. Т.е. 1С - это достаточно мощный язык.

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

А что тебе название? Название языка должно быть простым, коротким, если он в кириллице, то должна быть хотя бы одна кириллическая буква, не должно находить много мусора в поисковике и должно иметь хороший смысл. Яр уж всяко лучше, чем какой-нибудь Python, Boo или git.

кому нужно комьюнити окраниченое языковым барьером

Нужно оно или не нужно, но 1С-ники свои семьи кормят.

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

1С - это достаточно мощный язык.

Но на нем за пределами бухгалтерии софт не пишут - вывод: тебе на Яре в одно лицо нужно ещё написать бухгалтерию!

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

Он же сказал: повысить обороноспособность Родины.

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

Ты не совсем в теме. На нём пишут много разного учёта, не обязательно это бухгалтерия. А учёт - это достаточно большой сектор того, что вообще пишется. Сейчас веб, наверное, будет покрупнее, но учёт никуда не делся.

Конечно, фичи языка 7-ки не выглядят особо крутыми на сегодня, но 77 вышла в 2000 году где-то. С 8-кой лично не работал.

Просто всё время приходится слышать, что 1С - это DSL и я на это никогда не отвечал, поскольку считал, что неважно, DSL или не DSL, главное, что на нём можно писать полезные программы.

В конце концов, любой язык, кроме машинного кода - это DSL.

А вот сегодня я подумал и понял, что в общем-то 1С - это не DSL. Есть практика использования, а есть сам язык. Так вот, в языке 1С нет никаких особенностей, заставляющих отнести его именно к DSL.

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

Видимо, дело в недостаточной вере в успех, т.е. в отсутствии ощущения зрелости проекта

den73 ★★★★  Это порождает грустные смайлики ");" и «};» и я попытаюсь от них избавиться. Я изначально сомневался, нужны ли точки с запятой, и вот теперь появился против них ещё серьёзный аргумент.

s/проeкта/исполнителя

и да, делом займись.

t184256 ★★★★★
()
Ответ на: комментарий от no-such-file

Ты ничего не понял, не «предел», а «прд».

Если «предел» — это «прд», то «пердел» тогда как?

eao197 ★★★★★
()

О чем ты только думал?! Представь на секунду, сегодня ты создашь прекрасный кириллический язык программирования, а завтра его освоят китайцы да индусы и понаедут в нашу великую Родину! Видал, че в пиндосии творится!!111

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

А я и не говорил что оно не так, или типо это фича такая что нельзя ни на чем другом

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

Яр уж всяко лучше, чем какой-нибудь Python, Boo или git.

Python, Boo или git выговорит любой картавый человек, а мне вот например букву «Р» не выговорить и я таких людей много знаю.

не должно находить много мусора в поисковике

эм, ну я вот погуглил, ничего связаного с программированием не нашел, какой-нибудь D или Go я хотябы с суфиксом lang смогу найти.

но 1С-ники

у 1С своя ниша, как у JS например. Какая ниша у сабжа ?

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

Ага, и программы пишут не программисты.

Где некий шарообразный Роснано в вакууме будет искать себе сотрудников для разработке на Яре?)

mersinvald ★★★★★
()

Я так скажу, битва за алфавит языков программирования проиграна. Например до 19 века Франция и Англия соревновались, чей меридиан меридианестее, Париж проиграл Гринвичу. С тех пор, на планете земля, широту и часовые зоны мы отсчитываем от Великобритании. Нужно принять текущее положение вещей и двигаться дальше, делать квантовые компьютеры, голосовые интерфейсы, нейронные сети, и вот на совершенно новые технологии создавать стандарты, а кто может предложить стандарт лучше, чем тот кто в новой технологии имеет максимальную компетенцию?

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

эм, ну я вот погуглил, ничего связаного с программированием не нашел,

В этом и смысл - имя не должно быть занято.

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

Я так скажу, битва за алфавит языков программирования проиграна

Рано ты сложил оружие что-то. Да ты в ней и не участвовал, небось.

и вот на совершенно новые технологии создавать стандарты

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

Стандарты принимаются в интересах того, кто их принимает. Мы не можем отдавать это на откуп тем, кто в нас целит томогавками и гаубицы в прибалтику завозит. Если им дать возможность принимать для нас стандарты, то им и гаубицы будут не нужны.

Например, кто сделал крокозяблы? Думаешь, это случайность? А я вот сомневаюсь. В стратегию нарушения коммуникаций это вполне вписывается, да ещё и в Библии написано, про вавилонскую башню. Крокозяблы устроили нам внутри страны вавилонскую башню. А что творится с загранпаспортами сегодня? Ведь можно из-за одной неверной буквы просто не уехать в другую страну. При этом стандарта на транслитерацию для загранпаспортов, как я понимаю, нет.

Я, например, по ходу проработки проблемы русификации-кириллизации понял, что нам как стране, нужно следующее:

1. Законодательное требование к поставщикам ОС, чтобы они придумали способ хранить кодировку текстовых файлов вместе с файлами. Для этого есть метаинформация, которую поставщики ОС должны писать и читать. Штатные редакторы должны поддерживать все популярные кодировки и автоматически (без вмешательства пользователя) открывать их правильно.

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

3. Веб-браузеры должны показывать адреса, написанные кириллицей, в виде кириллицы, а не в виде %46.

4. Все понятия, связанные с предметной областью, должны именоваться по-русски во всех программах, закупаемых государством. Если кириллиица не поддерживается - транслит.

5. Средства командной строки, все эти ls и прочее, должны быть русифицированы вместе со всеми ключами.

6. Не должно быть никогда Y/N(Д/Н)

Вот примерно такой комплекс мер нужен, может ещё что-то забыл. Понятно, что всё это продавить не удастся, но если мы будем ждать, что США это примут, то ждать нам осталось ещё лет 250, не меньше. И Linus тоже на это забъёт. А там и Эра Водолея наступит.

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

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

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

а мне вот например букву «Р» не выговорить и я таких людей много знаю

Извини, я про это не подумал. Но переименовывать не буду.

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

И расту тоже сильно не хватает рук. Хотя у них там, походу, десятки человек на зарплате.

RazrFalcon ★★★★★
()

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

Deleted
()

Создать ещё один язык программирования без ниши и даже без платформы, да ещё и чтобы на нём писали другие люди - идея так себе, если честно :-) А взять для этой цели этот ваш SBCL из-за того, что у него лицензия public domain - это ещё больше приближает ценность идеи к нулю :-)

также CCL, а не только SBCL.

Лол :-) Когда же ты уже поймёшь, что единственная более-менее доступная и нормальная реализация языка Common Lisp называется LispWorks :-) Знаменитый в лисперской тусовке Эдмунд Вайтц написал тонны софта именно в Лиспворксе :-) Потому, что это готовая платформа для разработки софта, а не для траты драгоценного времени :-) Среди бесплатных Лиспов только один заслуживает уважение - Emacs Lisp :-) Всё остальное - это для пенсионеров, чтобы вспомнить молодость и чтобы не скучно было, или же для разного рода мечтателей :-)

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

Дался тебе этот Лисп :-) Поигрался и хватит :-) Лучше осмотрись вокруг :-) Посмотри на другие технологии и языки :-) Посмотри на .Net, например, на С# :-) Посмотри на Go :-) Можно найти более интересную задачу на каком угодно языке (даже на ущербанском цепепе), чем написать ещё один Дельфи на Лиспе :-)

Рассматривай свою неудачу всего лишь как жизненный урок :-)

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

Дашь денег - расскажу

Хороший годный евангелист: дэнги давай, давай дэнги! И никто не подает, что характерно. Даже братья по разуму из русского мира.

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

Законодательное требование к поставщикам ОС
Обязательная поддержка кириллической электронной почты
Веб-браузеры должны
Средства командной строки должны

Тебе бы в депутаты, это твоё призвание.

bread
()

Чего только не придумают, лишь бы не учить английский. Автор, а тебя не пугает, что в русском тыщи заимствованных слов? Может, на старославянский перейдем? И да, английский может пригодиться не только в программировании, не на том ты экономишь.

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

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

Осилили два года назад.

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

go dep.

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

В яве хотсвап есть. В дефолте есть простая версия (замена методов, новые добавлять нельзя), вариант получше (DCEVM, пропатченная виртуальная машина, пример: https://habrahabr.ru/post/325700/ ) и JRebel (за деньги), говорят, годится даже для боевого сервера, но лично не работал.

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

Lispworks неплох, но его никогда нельзя будет применять в специальных целях. Вот 1-го февраля на другие технологии и посмотрю. Впрочем, уже сегодня смотрю в Эклипсе на ядро CCL, а оно на Си написано.

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

А добавить поле в класс там можно хотя бы? Я уж не говорю про удалить. Добавить ещё один параметр в метод?

den73 ★★★★★
() автор топика

Исходный пост не распарсил. Пиши проще, для обычных людей.

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

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

А к этим ребятам не обращался? http://fasie.ru/programs/programma-start/

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

совершенно гениальный проект получения энергии в промышленных масштабах в пустынях за счёт испарения воды

Откуда в пустыне взять столько воды для промышленных масштабов? Ну хорошо, за ночь можно какой-то объём в виде конденсата собирать, но выкачивание её из под земли может быть энергетически затратнее чем потом выработается.

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

grem ★★★★★
()

Ну и истории у тебя!

Одна интереснее другой просто.

Про кириллицу, про 1С, возобновляемую энергетику. Про либеральную мифологию какую-то.

Ты понимаешь что ты ...?

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

А в 1C есть запуск внешних программ, FFI и COM-объекты.

FFI там нет.

А также кроссплатформенный ГУЙ.

Если встроенный Wine — это кроссплатформенный, то есть.

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

А как же 1С++ ?

Если встроенный Wine — это кроссплатформенный, то есть.

Чудеса :) Старт направлен на коммерциализацию, а ЯП сегодня как коммерциализировать? Мне приходилось однажды писать заявку на подобное мероприятие и я знаю, что если не наврать с три короба, то грамматически корректную заявку я написать не смогу.

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

Вот, дабы не плодить офтопик:

https://ru.wikipedia.org/wiki/Энергетическая_башня

И там есть ссылка на PDF, где всё достаточно детализировано. Там на самом деле есть проблема с выбросом соли, но как раз это и выясняется с помощью опытной установки.

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

Ты мне когда-нибудь объяснишь, что я не понимаю в системе типов? Я тебе могу даже обрисовать, почему у Дельфи и Лиспа система типов, по сути, ничем не отличается, а отличается только в деталях.

Для начала, про Lattice. Пожалуйста, вот здесь прочитай второй комментарий и напиши здесь, что ты думаешь на эту тему. Чтобы я понимал, что ты имеешь в виду под Lattice. Остальное потом обсудим, если договоримся по терминологии.

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

Чего только не придумают, лишь бы не учить английский.

Есть такие закостенелые совки, которые принципиально не в состоянии освоить второй язык. И как только они видят что-то на английском, у них такой жопо-рвач внутри начинается. Аффтор из их числа.

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

на качество работы Apple положиться можно.

Как в плане скорости, так и в плане огрехов и багов теперь это неверно. 10.13 и Xcode9 это самый лютый пц и факап, перекрывший даже ios7. Хотя не, ios7 не переплюнет уже ничто. Много-лет эппл-юзер.

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

А как же 1С++ ?

Это внешняя компонента к 1С. Произвольную функцию из произвольной dll 1С запустить не может.

Старт направлен на коммерциализацию, а ЯП сегодня как коммерциализировать?

http://www.lispworks.com/buy/prices-2c.html

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

Почему? Языковый барьер - действительно один из самых серьёзных барьеров для иммиграции. Представьте, завтра всё население начало говорить по-английски. Так послезавтра половина свалит в США, да в Канаду.

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

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

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

встроенный Wine

Забавно. А как выяснили?

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

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

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

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

ЯП сегодня как коммерциализировать?

Это не сегодня. Не думаю, что они много зарабатывают. Хотя да, написать такую заявку, наверное, можно. Но тогда нужно и открывать торговлю, иначе это будет обман государства. Честно поторговать, заработать 0 рублей и сказать «ой, у нас не получилось». Хотя может быть, что в российских реалиях это будет выглядеть по-другому. Блин. По идее надо над этим подумать...

den73 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.