Здравствуйте, Ikemefula, Вы писали:
I>Я шота не вижу там определения. Там говорится "низкий дизайн" в контексте Хаскеля или ФЯ, а не в сравнении с ассемблером. Этот низкий уровень Хаскеля намного выше как ассемблера, так и с++.
I>И ежу понятно, что в каждом языке будут некоторые базовые конструкции которые и определяют низкий уровень на этом языке. Но при этом низкий уровень Хаскеля вообще никак не соотносится с железом. Скажем с С++ ровно наоборот — низкоуровневые конструкции запилены под архитектуру современных микропроцессоров.
Речь о другом. В этой статье обсуждаются действительно высокоуровневые вещи, определяющие архитектуру ПО. Для большинства языков (как императивных, так и функциональных) эти вещи не имеют прямого выражения в структурах языка, а существуют сами по себе. Так вот, если для императивных языков эта область имеет громадное количество готовых концепций, специализированных инструментов и т.п., то для функциональных автор сумел наскрести 1,5 известных концепции и 0 готовых инструментов. Собственно большую часть статьи автор и пытается придумать чем ему заменить в функциональном языке все эти известные и хорошо работающие вещи из мира императивных языков.
Т.е. если смотреть с самого верха, то программирование и на чистом C++ и на чистом Haskell'е весьма низкоуровневое. Однако, если под нашу конкретную задачу, существует готовый мощный фреймворк, то тогда программирование может резко стать очень высокоуровневым и на C++ и на Haskell'e. Хотя при таких раскладах это уже становится скорее программированием именно на этом фреймворке (как на неком неформализированном DSL). Т.е. в общем то ситуация равная, с поправкой на то, что для мира императивных языков подобных вещей существует на порядки больше и существуют специальные концепции и инструменты для их удобного построения.
Ну и есть языки, в которых данные вопросы решены уже на уровне самого языка. Это чаще всего всяческие специализированные DSL'и. Вот они и являются максимально высокоуровневыми, правда практически всегда это достигается резким сокращением универсальности.