Вот читаешь ветки: чего не хватает, чего не хватает... А почему никто не спросит: что лишнего?
Когда Д. Кнут разрабатывал систему TeX, то впоследствии честно признавался, что ставил своей целью написать программу, которая бы удовлетворила бы 95% процентов пользователей. Как он предполагал, остальные 5% пользователей просто внесут извенения в исходный текст TeX так, чтобы он поддерживал необходимые возможности (например, сочетание английского (слева направо) и арабского (справа налево) языков, ...)
Случилось однако так, что в саму систему TeX никто изменений вносить не стал, и Леймпорт при разработке LaTeX использовал только средства самого TeX.
Я иногда мечтаю о некоторой подобной схеме... Если у меня математическое приложение, то даже с учетом перегрузки операций библиотека для работы с матрицами будет, как мне кажется, уступать специализированым возможностям MATLAB. Получается что перегрузка операций лучше чем ничего, но занимает как бы промежуточную нишу. В ряде приложений она не нужна, в ряде приложений лучше MATLAB и где-то посередке располагается библиотека для работы с матрицами с использованием перегруженых операций. Или другой пример. При разработке приложений, работающих с БД, часто не хватает возможности элегантно встроить SQL-операторы в используемый язык программирования. Скажем синтаксис
function GroupSize(GroupId: Integer): Integer;
sql
SELECT COUNT(*) FROM STUDENTS WHERE GROUP_ID = GroupId
end;
был бы намного полезнее, чем возможность ассемблерных вставок. И т. д. и т. п.
Реализовать это можно было бы как некую надстройку, позволяющую добавлять свой язык для блоков кода (asm..end, sql..end, math..end, ...). Вот собственно и все.
Собственно говоря, насколько жизнеспособна идея создания некоторого плагинового языка программирования? Т. е. написал плагин --- получил некое расширение языка... Что по вашему мнению, является "лишним" в любимых Вами языках программирования, что бы можно было заменить такими плагинами? Какими свойствами должен обладать "минимальный" язык? Насколько вы допускаете для себя идею начинать каждый конкретный с адаптации конкретного языка программирования под нужды проекта? Пугает ли вас то, что в крупном проекте может использоваться несколько адаптаций (каждся для своей части)?