Илья Ермаков писал(а):
Alexey Veselovsky писал(а):
Угу. И вне зависимости от размеров языка это черевато как минимум не совместимостью с адаптированными инструментариями других контор. Это называется -- зоопарк языков. И это вроде как уже проходили
Ну, язык менять в ста вариациях никто и не станет... Но деталировка какая-нибудь, модификации среды и проч. - почему нет?
Хм. А например? Дотачивание работы с памятью? Дык во всяких адах и плюсах это делается средствами языка. Если язык не предоставляет абстракций пригодных для прозрачной подмены менеджмента памяти, то да, нужно слегка дотачивать рантайм-окружение. Т.е. среду. Что тут будет проще -- дотачивать ли окружение простого языка, или языковыми средствами менять менеджмент памяти в сложном языке -- фиг знает. Мне кажется что примерно то на то и выходит.
Когда сложный язык не предоставляет годного инструмента для абстрагирования от менеджмента памяти (например ява, или c#), то остается только менять среду, или городить вообще бог весть что. Тут да, я тремя руками за обероны. Ибо это ж застрелиться проще. чем лезть в рантайм какого-нибудь .net'a. Одно неверное движение при правке тамошнего GC (который нифига не простой), и всё.
Илья Ермаков писал(а):
Ещё раз: для маленьких систем ничего тут страшного нет. Стандарты де-факто прекрасно работают.
Ну ведь не получится взять скажем из второго оберона (скажем из набора либ oo2c) какой-то модуль и спокойно себе использовать в BB. Придется всяко ручками править. Как минимум синтаксис. Также я вот ну совсем не уверен что оно же корректно заработает (если на это не тестировалось) в XDS. Или в класических оберонах.
Также я совсем не уверен что наугад взятый модуль из BB заработает в gpcp. Окружение всё же разное. Да и нюансы языка могут по разному быть реализованы. Опять же они на разных платформах работают.
Илья Ермаков писал(а):
(По поводу "контор"... Я исхожу из того, что по возможности серьёзная контора стремится строить "натуральное хозяйство". И это разумно.)
Зависит от рода деятельности оной серьезной конторы
PS. Нет, я не против оберона. Если мне вдруг захочется/потребуется реализовать язык для некой специфической области (скажем для некой железяки новой, или в качестве эдакого императивного DSL для хаскеля, что, кстати, актуально), то я за основу скорее всего возьму именно Оберон (скорее всего либо Оберон-1 либо Оберон-07) и модифицирую его под данную задачу (синтаксис, возможно систему типов, быть может что-то будет выкинуто, вроде расширяемых записей, если они не нужны в данном случае будут и т.п.), может что-то добавлено (например вывод типов). Но за основу имеративного языка в любом случае стоит брать именно оберон. Ибо сухая выжимка императивщины. Реализовывать даже огрызок скажем ады... Ну вы поняли. Для того чтобы сделать огрызок нужно вначале понять всю аду и понять что там нам нужно а что нет. Про С++ я таки умолчу. Си -- имеет жуткий неоднозначный синтаксис и такую же типизацию. Всякие паскали брать не имеет смысла, ибо оберон по всем статьям лучше. Про всякие Lua/Python и проч. динамически типизированную фигню даже думать не хочу. Вот. как-то так.
Каждому инструменту своя задача