Re[49]: Есть ли вещи, которые вы прницпиально не понимаете...
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.02.14 16:36
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Речь о другом. В этой статье обсуждаются действительно высокоуровневые вещи, определяющие архитектуру ПО. Для большинства языков (как императивных, так и функциональных) эти вещи не имеют прямого выражения в структурах языка, а существуют сами по себе. Так вот, если для императивных языков эта область имеет громадное количество готовых концепций, специализированных инструментов и т.п., то для функциональных автор сумел наскрести 1,5 известных концепции и 0 готовых инструментов. Собственно большую часть статьи автор и пытается придумать чем ему заменить в функциональном языке все эти известные и хорошо работающие вещи из мира императивных языков.


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

_>Т.е. если смотреть с самого верха, то программирование и на чистом C++ и на чистом Haskell'е весьма низкоуровневое.


Из этого не следует, что у этих языков один и тот же уровень или хотя бы уровни близкие.

>Однако, если под нашу конкретную задачу, существует готовый мощный фреймворк, то тогда программирование может резко стать очень высокоуровневым и на C++ и на Haskell'e. Хотя при таких раскладах это уже становится скорее программированием именно на этом фреймворке (как на неком неформализированном DSL). Т.е. в общем то ситуация равная, с поправкой на то, что для мира императивных языков подобных вещей существует на порядки больше и существуют специальные концепции и инструменты для их удобного построения.


В общем случае если мы сделаем АПИ для этого фремворка в разных языках, внезапно, будет разница в том, что как эффективно использовать и где за каким деталями придется следить.
Вот в С++ ты точно не сможешь избавиться от указателей, инстанцирований, деклараций шаблонов, указания типов и тд и тд и тд
А в Хаскеле — запросто.

_>Ну и есть языки, в которых данные вопросы решены уже на уровне самого языка. Это чаще всего всяческие специализированные DSL'и. Вот они и являются максимально высокоуровневыми, правда практически всегда это достигается резким сокращением универсальности.


DSL как правило это небольшая, очень узкая область математики
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.