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

★★★★★

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

Логика это логика, тут можно ничего о программировании и не знать.

Каждый адепт тебе расскажет о макросах, но при этом каждый сядет в лужу с вопроса «а нахрена они нужны?», а уж на вопрос «чем они лучше всего остального» и подавно.

Да? А может это связанно с тем что я просто ничего не знаю, не? Я не понимаю и зачем побитовые операции нужны, или do {} X.

Читай выше

Я вижу там попытку отыграть доминатора, и какие то бредни про адептов, уровни какие то, такое ощущение что я в SkyRim играю, там помню тоже прокачиваться нужно было, были адепты магии огня или чето такое

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

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

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

Кстати, это типичный пример того, что значит «состоятельность по умолчанию». Ведь мне даже не надо приводить примеры броузеров на С/С++ и причина проста - в само понятие «броузер» входит броузер на С/С++.

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

А у тебя есть говно и есть мистические дома из дерьма с примесью реальных вигвамов(обмазанных говном). И именно твоя задача доказать обратное. Вернее доказать наличие состоятельности.

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

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

какого хрена говоря о лиспе, ты привёл в пример cl

Я не понимаю разницы между ними, мне про нее так никто ничего и не сказал.

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

что ты бы меня содержал

но-но! это же них*ра не бесплатно!!111

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

Ведь мне даже не надо приводить примеры броузеров

Лол)))
«Покажи мне браузер, его нету, нету!!!!»
«А что есть? Ну ты все равно дурак, ведь надо что бы я знал о нем, вот. И вообще радуйся что мне не надоело тебе отвечать, унтер»

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

Ты реально не понимаешь, что ты убил себя? Как же просто быть вами, и как тупо.

Я не понимаю разницы между ними, мне про нее так никто ничего и не сказал.

Если не понимаешь, то реализуй мне cl. Ведь лисп ты порывался реализовать, а раз разницы нет, то - вперёд.

Я всё же рекомендую тебе поразмыслить на тему «зачем думать перед тем, как постить рандомную ахинею». Потом напиши подробности - мне интересно.

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

Если не понимаешь, то реализуй мне cl.

Я тебе сказал что именно я реализую, etc = договоримся что еще. CL это лисп плюс куча всякой всячины. Что мешает представить CL без встроенных классов, я не знаю

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

Я тебе сказал что именно я реализую, etc = договоримся что еще.

Неверно. Я давал определение «лисп», ты на него ответил. Из этого следует то, что твоя потуга == «лисп». А раз «лисп» == «cl», а твоя потуга == «лисп», то и твоя потуга == «cl». Всё просто. Вы это недавно проходили.

Кстати, что самое интересное. Как быстро у нас балаболка узнала о том, что оказывается cl != лисп, а весь до этого говорила о том, что не знает. Как же так? Наверное потому, что ты трепло и пишешь рандомную херню?

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

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

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

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

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

Да и вообще понятно что это бесполезно, показываю тебе браузер, ты уходишь в сторону, и про NetSurf так и не ответишь, ну или опять бред. Говорю что могу лисп написать, подвожу к этому и ты про какой то Common Lisp начинаешь загонять, какая разница считаю я его лиспом или нет, мы о реализации его мною. Пойду я спать лучше

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

Тут будет фейл в любом случае, т.к. если любой броузер включает в себя сишный код, то он частично написан на си. А это именно так.

Не говоря уже о том, что С/С++ - это не С или С++, а нечто большее. Как минимум это некий промежуточный диалект( си с классами и иже с ним).

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

Не говоря уже о том, что С/С++ - это не С или С++, а нечто большее

Вот здесь не совсем понял, можно подробнее?

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

какого хрена говоря о лиспе, ты привёл в пример cl

Я не понимаю разницы между ними, мне про нее так никто ничего и не сказал.

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

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

одной извилиной

У тебя ее видимо вообще нет, если ты не способен понять что это два лиспа. Один побольше другой поменьше, в Common Lisp встроенных вещей много. Это тоже лисп

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

Возможно это он там и сидит, кто еще так кресты защищать то будет

Перетолстил. Царь, ЕМНИП, кресты сначала тоже с г. смешивал

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

Ну так чего перетолстил, он сначала подумал «что за фигню я сделал», а потом когда понял что можно распиариться на этом настал 11 год и началось, c++11,c++14,c++17. И начал тут пиарить кресты свои, на раст наезжать

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

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

Но т.к. формально это уже С++-код, а реально си, то это и является тем самым С/С++ диалектом, либо си с классами, либо как угодно это называй.

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

У тебя ее видимо вообще нет, если ты не способен понять что это два лиспа.

Один побольше другой поменьше, в Common Lisp встроенных вещей много. Это тоже лисп

Т.е. пациент определят их за разное, описывает их различия, но при этом пишет:

Я не понимаю разницы между ними, мне про нее так никто ничего и не сказал.

Вот тебя и спрашиваю. Есть разница, либо нет. Т.к. либо там, либо там - ты нанёс херню.

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

Я не хочу оскорбить, я реально без шуток: сходи к психиатру. У тебя начинается или уже шизофрения, это можно замедлить

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

В этом плане да. Кстати, есть мнение, что всем возможностям крестов в одной программе, даже крупной, не место - и поэтому всегда стоит использовать некоторое подходящее под задачу подмножество(путем введения ограничений на уровне guidline-ов)

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

Я не понимаю разницы между ними, мне про нее так никто ничего и не сказал

Ты говоришь что CL не лисп, я говорю что лисп и разницы в устройстве языков не вижу.

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

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

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

Толсто же. Не будешь же ты систему сборки писать на c++ вместо cmake или даже голого GNU make. Другим языкам тоже есть место, и для своих задач они лучше c++

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

Ты говоришь что CL не лисп, я говорю что лисп и разницы в устройстве языков не вижу.

Меня не волнуют твои мазы. Тебе дали твою цитату. «не понимаю разницы» == «её нет». Мне нужен чёткие ответ - есть разница, либо её нет.

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

Когда я говорил что не вижу разницы, это значит что они оба лиспы. Реализовать я собирался лисп без тех деталей что есть в CL

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

Но это было понятно из разговора, а что ты сейчас пытаешься сделать? Сместить определение разности/одинаковости?

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

Толсто же. Не будешь же ты систему сборки писать на c++ вместо cmake или даже голого GNU make.

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

Именно поэтому тот же убожество в cmake спокойно заменяется на любой другой недоязык, либо на си/кресты. И это ничего не меняет.

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

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

Когда я говорил что не вижу разницы, это значит что они оба лиспы.

Меня это не волнует. Мне нужен чёткий ответ. Есть разница, либо нет.

И ты не волнуйся, даже если я тебе позволю съехать на лисп - ты в любом случае обделаешься. Ты обречён.

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

Эти манёвры такие тупые. Между табуреткой и балаболом разницы нет, но на самом деле она есть - просто она оба деревья.

Между С++ и лиспом разницы нет - ведь они оба ЯП. Между ногой и рукой разницы нет - ведь они оба конечности. Между дерьмом и адептом разницы нет - ведь они оба материя.

Насколько надо опуститься, чтобы пытаться всплыть на такой ахинеи. Хотя тупняк тут в почёте.

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

Ты перепутал систему сборки и скриптолапшу

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

Который используется лишь по причине той, что так получилось. Никакими плюсами он не обладает - мусор мусора [...]
cmake спокойно заменяется на любой другой недоязык, либо на си/кресты [...]
не приспособлена для написания какой-либо логики

Здесь не соглашусь. Причины использования специализированных средств для сборки, как, впрочем, для какой-либо другой области - уменьшение трудозатрат/объёмов кода/кол-ва потенциальных ошибок/необходимой квалификации разработчика за счёт наличия в этих системах специализированного функционала, который на c/c++ писать надо руками(или засунуть в стандарт, но здесь ненудность, думаю, очевидна). Резюмируя: так легче. А если разработчики умеют готовить правильно, то и качество не теряется. А логика в скриптах есть, другое дело она проще, чем логика тех же броузеров, например. Но она есть

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

Между С++ и лиспом разницы нет - ведь они оба ЯП

Так я тебе никогда не отвечу, я отвечаю только умным людям, ну или хотя бы не тупым.

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

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

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

Я вижу ты на такое не реагируешь, ну и ладно.

Даю совет - отвечай на все тезисы, а не выборочно.

Это и для тебя хороший совет, только ты еще отвечай, а не съезжай с темы. /ignore

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

Здесь не соглашусь. Причины использования специализированных средств для сборки, как, впрочем, для какой-либо другой области - уменьшение трудозатрат/объёмов кода/кол-ва потенциальных ошибок/необходимой квалификации разработчика за счёт наличия в этих системах специализированного функционала, который на c/c++ писать надо руками(или засунуть в стандарт, но здесь ненудность, думаю, очевидна). Резюмируя: так легче. А если разработчики умеют готовить правильно, то и качество не теряется. А логика в скриптах есть, другое дело она проще, чем логика тех же броузеров, например. Но она есть

Нет, диалект С/С++ ничем не отличается от почти любой скриптухи по всем твоим критериям.

Скрипта используется лишь потому, что её проще реализовать и ограничить. Ну не на засунешь ты в cmake целый интерпретатор/компилятор крестов. А реализуется она проще потому, что она примитивна и в ней нет логики.

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

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

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

проще

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

anonymous
()

Афигеть! За ночь две с половиной страницы срача, и никто еще не заставил Царя генерировать перлы вроде:

Неверно, никто этого не сделал, да и даже если сделал - из этого ничего не следует. Нигде обратное не утверждалось, да и вообще разговор был не об этом.

(отсюда).

Спор же Царя-Балабола со смайлодауном похож на соревнования двух ИИ-ботов по генерации простынь с говноконтентом.

Ушел за очередной упаковкой поп-корна.

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

Всё что исходит от меня - следствие некоей чёткой логики

А давай-ка ты, следуя своей «некоей чёткой логики», соберешь таки мысли в кучку и, наконец, выполнишь поставленные перед тобой условия: Как грамотно и качественно создать свой ЯП? (комментарий)

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