Re[11]: В реальности я надеюсь, что команда Н2 закончит проект и ее уволят...
От: WolfHound  
Дата: 14.08.12 06:46
Оценка:
Здравствуйте, 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>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.