Здравствуйте, repka, Вы писали:
R>Звучит, конечно, здорово, но сама Микрософт уже сколько лет доделывает Розлин.
В майкрософт очень не правильно подходят к разработке.
Да и конечный продукт у них будет мягко говоря не о том.
R>Не кажется, что объем работы для Н2 на порядок больше?
Скорее, на порядок меньше.
Но сложнее. Ибо алгоритмы придумывать надо.
R>Или расчет идет на то, что Н2 будет простой, как и сама базовая Немерля, а шарп на ней будет немерянно легче имплементировать, чем на самом шарпе?
Н2 это не язык общего назначения.
Это язык для описания языков. И себя в том числе.
Часть Н2 уже есть. И он уже частично написан сам на себе.
Дальше будет больше.
R>Но, ИМХО, все языки имеют пересечения только с академической точки зрения. Да, концепции типов, переменных, наследования и т.п. довольно похожи друг на друга. Но имплементация компиляторов абсолютно другая.
Это по тому, что руками. А если реализацию компилятора генерировать, то там все будет очень похоже.
R>Например шарп вначале определяется с типами и их членами по всему проэкту, а уже затем парсит код внутри методов. В то время как Си++ парсает всё подряд: хочешь вызвать функцию имплементированую позже, будь добр, задекларируй её заранее.
Тут всё намного проще, чем кажется.
R>Хуже с темплейтами, где полностю отсутствует типизация.
Тут ты не прав.
Она хоть и не полная, но она там есть.
То, что обычно разработчики компиляторов ее не осиливают, не значит что, её там нет по стандарту.
R>А макросы Си/Си++, вообще, ломают все рамки со скобками. Можно, конечно остановится, сказав: "это должно просто обрабатываться на уровне глупого препроцессора". Но юзера тут же забухтят, — "А где мой интеллисенс? Да мне в Vim 15 лет назад лучше кодировалось!".
Это должно обрабатываться на уровне препроцессора.
Вот только интелесенсу оно не мешает. Если правильно делать.
R>Та же ситуация в JavaScript и SQL с их eval-фичами, или использованием их же как встроеных (embedded™) языков.
Динамически типизированные языки не нужны.
Вообще.
Они не ловят ошибки. Они тормозят. Для них нельзя сделать нормальный интелисенс.
R>Промолчу про саму Немерлю, которая хоть и упрощена до нельзя, но стадий компиляции — непочатый край.
Тут вообще никаких проблем с интелесенсом.
Хотя есть проблемы с тем, чтобы под это дело писать макросы. Эти стадии мне весь мозг уже съели.
В Н2 будет только 3 стадии.
1)Парсинг.
2)Типизация.
3)Кодогенерация.
R>Я веду к тому, что весь этот зоопарк не просто разные способы изобразить одно и то же. Может еще Си-шарп, VB.NET, и Жаву можно к общему знаменателю подогнать. Добавь чего-то "нестандартное" и сложность растет экспоненциально.
Линейно. Я на эту тему очень много думал и изучал.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>