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

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

Кстати, не факт, что 0. Предлагай компилятор (из командной строки) забесплатно, а clcon+отладчик+справку за небольшие деньги (я бы оценил в 1..5 тысяч рублей на рабочее место). Думаю, кто-нибудь купит.

И примеров маленьких программ на сайте, где продавать будешь, накидай.

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

Хм. Ну прямо даже не знаю, что подумать. Но для этого ведь нужно сделать полную версию. Если, допустим, я упрусь в это рогом и сделаю это быстро, то качественно не получится. Никаких тебе MULE, никаких тебе CSS. Заработаю 15 тыр на этом продукте. Т.е. да, будет что написать в отчёте: мы сделали, у нас не вышло, но заработали 15 тыр.

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

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

Начиная Яр, я верил, что одной горячей замены кода достаточно для повышения конкурентоспособности ЯП, и я в это и сейчас верю. Пока что горячей замены в C#, C++ и Java нет, потенциальное преимущество Яра (и CL) сохраняется.

Ты извини, Денис, что я со своей уродливой реальностью опять в твои прекрасные мечты, но ты приводил sql серверы как пример того что бизнесу нужна «горячая замена». Так вот я подумал над аргументом. Можешь назвать хоть один sql сервер написанный на языке с поддержкой горячей замены (кроме явы, ты ж говоришь её там нет), в частности на лиспе?

Ещё раз, «горячая замена» - ничерта не ключевое преимущество. Есть запрос на системы хранения данных. И внутри них «горячая замена» - необходимость. Без неё просто не работает. Но к языкам общего назначения это никакого отношения не имеет. Ты можешь «горячую замену в лиспе» считать преимуществом в данном контексте только если ты написал на лиспе систему хранения данных и там доступна и «в тему» лисповская горячая замена. Но это не твой случай.

Но CL загубил своё преимущество негодными инструментами, а у Яра этой проблемы нет.

Как я тебе объяснил - это не преимущество. Это просто небольшая плюшка, которую может и можно иметь если забесплатно, но менять на неё реальные преимущества глупо. Поэтому CL и не взлетел, я думаю.

А у Яра проблемы нет, потому что у Яра особо ничего и нет. До проблем ещё дорасти надо, вообще то.

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

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

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

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

Можешь назвать хоть один sql сервер написанный на языке с поддержкой горячей замены (кроме явы, ты ж говоришь её там нет), в частности на лиспе?

Postgres был изначально написан на лиспе, пруфлинк где-то в доках есть (идёт ссылка на CLOS). Далее, есть https://allegrograph.com/customers/

Но смысл не в том. Речь не о том, на чём написаны SQL серверы, речь о том, что SQL серверы сами по себе являются сервисом, предоставляющим горячую замену. Alter table ~= изменение классов в рантайме, Alter procedure ~= изменение функций в рантайме.

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

Но к языкам общего назначения это никакого отношения не имеет.

Что общего между карандашом и ботинками? Поищи пожалуйста, здесь давали ссылку на горячую замену про Яву. Обычно за дополнительные деньги идёт. Вот с ними и разбирайся, им и объясняй, что это не нужно. Как им объяснишь, тогда приходи мне объяснять. И эрлангам тоже можешь объяснить.

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

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

Я бы к названию языка «Haxe» добавил бы букву «p» (от portability).

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

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

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

Как я тебе объяснил - это не преимущество.

И главное надо было написать: «я тебе объяснил, ты чё, не понял?» Хотя я не знаю, может быть уже «не понял» уже вышло из моды. Прям как lovesan, ей-богу.

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

Ну, так скажем, SQL нужно ещё сильно допиливать, а в 1С всё основное уже есть. Тебе, конечно, виднее. Ты тоже считаешь, что 1С - это DSL? Вообще, кто может дать формальное определение DSL, чтобы можно было чётко отличить «ЯП общего назначения» от DSL?

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

N x факториал
х

Что это за «х»? Русская ха? Латинский икс? Это типо русский аналог *? Нахер такое делать? Тебя за это следует расстрелять.

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

Postgres был изначально написан на лиспе

_изначально_

но они поняли что лисп - *** :)

Но смысл не в том. Речь не о том, на чём написаны SQL серверы, речь о том, что SQL серверы сами по себе являются сервисом, предоставляющим горячую замену. Alter table ~= изменение классов в рантайме, Alter procedure ~= изменение функций в рантайме.

Так я тебе два раза сказал: смысл в том что это системы хранения данных. Язык на котором они реализованы не имеет горячей замены.

Мне был интересен ответ на это. Спасибо что написал хоть что то:

Что общего между карандашом и ботинками? Поищи пожалуйста, здесь давали ссылку на горячую замену про Яву. Обычно за дополнительные деньги идёт. Вот с ними и разбирайся, им и объясняй, что это не нужно. Как им объяснишь, тогда приходи мне объяснять. И эрлангам тоже можешь объяснить.

С JRebel я работал: если у тебя нет репла и каждый раз код компилируется по несколько минут, то да, жизненно важная возможность.

Но это не преимущество явы как таковой, это скорее нейтрализация её недостатка (долгая компиляция + отсутствие репла). И продаёт JRebel отдельная контора.

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

Но тогда выходит «она у всех (кому надо) есть», чего это преимуществом стало то?

можешь ответить? Любопытны аргументы.

Т.е. мой аргумент - 0) sql всё таки исключаем, специфичная область, нерелевантная тому на каком языке написан sql сервер - все имеют «горячую замену». 1) это не возможность как таковая, а скорее нейтрализация недостатков 2) у всех кому надо есть, в таком случае. выходит что фича не уникальна для лиспа . Почему ты считаешь это преимуществом ради которого кто то будет пользоваться?

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

Сопоставимое по степени зрелости кто-нибудь продаёт?

Про остальных я тебе не смогу доказать, что продаж много. Впрочем, какая разница? Твоё дело доказать чиновникам из Старта, что потенциально продавать IDE+компилятор можно (вот MSVS) и получить деньги на разработку.

А продвигать язык нынче можно только с крупными проектами: 1C, AutoCAD+AutoLisp, iOS+ObjectiveC, ...

То есть тебе надо найти того, кто разрабатывает что-нибудь достаточно крупное и динамичное и убедить, что Яр ускорит разработку.

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

Давай по почте обсуждать это, пожалуйста.

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

Извини, я занят, ты слишком много пишешь.

да там ведь только твои цитаты? остальное коротко:

1) sql всё таки исключаем, специфичная область, нерелевантная тому на каком языке написан sql сервер - все имеют «горячую замену», там без неё просто не работает, но лиспа там нет.

2) это не возможность как таковая, а скорее нейтрализация недостатков (в случае явы - долгая компиляция и отсутствие репл)

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

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

Почему ты считаешь это преимуществом ради которого кто то будет пользоваться?

Мне не нужно рекламировать горячую замену, если у меня нет продукта, который её реализует. Я не хочу, чтобы она завтра появилась в C#. Поэтому ничего обсуждать не буду. Но то, что ты так с трудом об этом соображаешь, меня вывело из себя, поскольку если ты так туго соображаешь, то следует ожидать, что руководители, которым я попытаюсь это впарить, вообще ничего не поймут никогда. Я это уже и наблюдаю, но процесс движения мысли я ещё так наглядно не наблюдал, и это приводит меня в ярость и в ужас. Так понятно?

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

Я не хочу, чтобы она завтра появилась в C#

https://msdn.microsoft.com/en-us/library/7yty6a48.aspx

доступно с 2013, они говорят.


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

но раз у всех есть - это ведь уже не конкурентное преимущество яра.

PS. говорят что именно «горячая замена» тоже работает, но нужны доп. телодвижения

https://stackoverflow.com/questions/27718015/hot-swapping-code-like-java-in-c...

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

Мне все интересно, куда CL не взлетел, и куда должен был взлететь?

Типа, PHP взлетел, и надо как PHP? Анахуа? Что нам не хватает в лиспах - толпы дебилов-макак на говнофреймворках типа, простите, Yii? Все эти огроменные коммунити у т.н. мейнстримных языков, все их библиотеки, и инструменты для них, они же отлично подчиняются правилу 95%, и соответственно нахер не нужны.

А касательно ход код релоада, от этой фичи, которая полноценным образом присутствует разве в некоторых лиспах, уже прутся и Microsoft с их дотнетом(в частности в ASP.NET последних), и всякие JS-бомжи, и прочие. Потому что фича невероятно сильно меняет процесс разработки в сторону упрощения и динамичности. Дает прочувствовать код, потыкать палочкой туда-сюда, ну и вообще ускоряет всячески разработку, и уменьшает количество головной боли для тестеров.

А вообще не перестаю удивляться, откуда люди, которые про лиспы слышали(и только слышали) только разве что в срачах на ЛОРе, и слышали краем уха, и даже не отличат код на Scheme от CL, а того от Clojure, откуда они так отлично знают про ихние, лисповые, недостатки, про то кто там куда взлетает, что на них никто не пишет(я наверное тоже не существую, ом), и так далее.

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

ты на чём пишешь? я имею ввиду за деньги.

если что - вот это и есть «не взлетел»: лисперы есть, а работы - шаром покати.

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

Ну, так скажем, SQL нужно ещё сильно допиливать, а в 1С всё основное уже есть.

SELECT call_ffi_func(); от ПодключитьВнешнююКомпоненту(«ffi») мало отличается.

Ты тоже считаешь, что 1С - это DSL?

Да. Если не использовать СУБД, то ущербность достаточно заметна. Нет доступа к звуку, нет доступа к рисованию, нет доступа к TCP, ...

Вообще, кто может дать формальное определение DSL, чтобы можно было чётко отличить «ЯП общего назначения» от DSL?

Думаю, DSL — «язык, который работает только в определённой области». А «язык общего назначения» — тот, на котором можно сделать всё, что можно сделать на каком-либо языке в этой ОС. Эдакая Тьюринг-полнота по отношению к системным библиотекам. Любой язык, который даёт доступ к POSIX или WinAPI является языком общего назначения. Любой язык, на котором для каждой функции POSIX/WinAPI придётся писать отдельную обёртку на другом языке, является DSL.

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

https://msdn.microsoft.com/en-us/library/7yty6a48.aspx
доступно с 2013, они говорят.

Это вообще не то, говорю как дотнетный синьор-помидор. Это максимум, ну там, eval-in-frame в дебаггере. Типа, это даже в питоне есть.

Ну и эта, ЧТД, собственно. Показательно, какие «отличные» познания лиспов (да и дотнетов), у здесь присутствующих.

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

Я пишу на всем вобще, что попадется под руку, лисп использовал в проде для скриптования, и в качестве DSL один раз.

BTW: «Программист на N» это говна кусок, а не программист. Луговского на таких нет.

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

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

там на SO говорят что «настоящия» горячая замена тоже возможна, но требует телодвижений. ты сеньёр - ты и рассказывай, правда или нет.

и я не хвастался знанием лиспов и дотнетов. А ща как раз и посмотрим на сколько ты сеньёр - как горячую замену в дотнете сделать? о чём говрят на SO?

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

Я пишу на всем вобще, что попадется под руку, лисп использовал в проде для скриптования, и в качестве DSL один раз.

один раз

угу, лисп - птица гордая, пока не пнёшь - не полетит. я понял.

BTW: «Программист на N» это говна кусок, а не программист. Луговского на таких нет.

так обычно говорят люди, которым до профи ещё лет 5 расти, уж прости, помидор.

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

Я поменял т.з. с «нафиг не надо» на «вещь нужная раз у всех есть» это ведь уже не конкурентное преимущество яра.

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

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

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

преимущество вижу только в скорости разработки (и в сравнении с реплом - минимальное, может ошибаюсь).

Горячую замену в продакшен потянул Erlang. Основное преимущество горячей замены — можно обновить высоконагруженную систему без прерывания работы. В случае Erlang такими системами были магистральные коммутаторы (не будешь же ты рубить все соединения ради обновления firmware). И Erlang может обновить код, обрабатывающий пакеты соединения прямо в середине потока по этому соединению.

Примерный аналог горячей замены есть в 1С. Можно обновить код на сервере без перезапуска сервера. Но здесь аналог скорее «страница на сайте», так как у пользователей код обновится только в новой сессии.

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

Вообще-то об этом и тема. Пока разрабатываю.

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

И уж тем более, чтобы я разжевал тебе то преимущество, до которого индустрия ещё не доросла

Это не просто пи...ц, это какой-то полный пи...ц!

ЗЫ. Побежал за очередной коробкой поп-корна.

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

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

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

Я считал «нафиг не надо» - преимущества нет, поэтому преимущества у яра нет.

Теперь я считаю «ну наверное, раз у всех есть», но раз у всех есть - преимущества у яра, выходит, нет.

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

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

Мне не нужны те, кому Яр не нужен. Мне нужны те, кто будет делать его вместе со мной.

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

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

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

Хрен тебе, ешь свой попкорн без кино, тогда и поймёшь, какой он невкусный. Просто кукуруза.

Тема закрыта.

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

Да. open(«/dev/dsp»)

Разве что для дистрибутивов начала 2000-х.

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

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

Но если она есть у многих - 1) это не преимущество Яр 2) на массовом уровне ею пользуются не очень то, похоже?

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

Но киллер-фича? не исключительная для яра и не всегда нужная особенность языка общего назначения?

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

А к рисованию?

connect(socket, getipa(«localhost», 6000), sizeof(struct sockaddr_in))

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

В дотнете, в отличие от например жабы, есть т.н. Assembly и AppDomain.

Assembly это грубо говоря, скомпонованная Dll/Exe. AppDomain это типа, аналог процесса из обычных ОС. Они изолированы друг от друга, софтварно, и частично хардварно, емнип. Для вызова кода из другого аппдомена нужно маршалить, прямо как в DCOM.

Обычно все работают с одним, дефолтным AppDomain, поэтому их часто не видно. Но для продвинутых фич они используются в хвост и в гриву.

Так вот, Assembly, она грузится в определенный AppDomain. Можно подгружать сколько угодно разных ассемблей в один, пока память не закончится, ну и там секурети пермишены не долбанут. После загрузки кода, он фиксируется(и вообще подвергается AOT), но внимание, следите за руками, AppDomain-ы можно выгружать, они, и Assembly, т.е. код грубо говоря, подбираются GC и все такое, в отличие от жабовского механизма класслоадера.

Это активно используется например в движках для компилируемого серверного темплейтинга HTML, типа, загружаем в отдельный AppDomain, когда меняется что-то, перезагружаем, итд. Также, это используется в IIS-воркерах, куда грузятся ASP.NET приложения. В одном воркере может быть не одно. Также, это используется MS и в вижлстудии. Также, есть такой мега-прикол, в связи с последними подвижками в сторону лиспа aka Roslyn Compiler Platform, которые позволяют запускать C# файлы просто как скрипты. Ну типа создается объект, туда херачатся параметры, в виде объектов конечно, это вам не дедовские никс-костыли, и скрипт запускается, предварительно, и прозрачно для пользователя, скомпилировавшись. На выходе можно тыкать его разные места чтобы получить какие-то выходные параметры.

В принципе, можно даже не писать C# код, есть lambda-выражения, типа AST, которое можно компилить, аля как функцией COMPILE в Common Lisp, правда урезанные; есть в конце концов System.Reflection.Emit, генератор байткода и метаинформации .NET, в который можно прямо в рантайме конпилировать и делать всякие приколюхи типа автоматических прокси для веб-сервисов. Ну и так далее. До лиспа далековато, конечно, и выглядит костыльно, но плюсы тоже есть, которые мне нравятся, например пресловутая софтварная изоляция AppDomain-ов (MS на эту тему пошла еще дальше в своем Singularity, но это экспериментально).

так обычно говорят люди, которым до профи ещё лет 5 расти, уж прости, помидор.

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

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

А к рисованию?

Или на крайний случай dlopen(«gtk»)

monk ★★★★★
()

Странно, что вроде бы не новички вроде бы всерьез обсуждают проект языка программирования, который делается в одно лицо странным парнем. Языки так не делаются уже лет 50. Или даже вообще никогда не делались.

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

Странно, что вроде бы не новички вроде бы всерьез обсуждают проект языка программирования, который делается в одно лицо странным парнем. Языки так не делаются уже лет 50. Или даже вообще никогда не делались.

PicoLisp, Factor, ...

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