> -- Valery Solovey писал(а):
> Мы как-то пару лет назад над этим тоже думали. Не знаю, что Вы имеете в виду под единой основой языков, а нам казалось, что языки должны быть ортогональны (это, на мой взгляд, исключает единую основу, если я её правильно понимаю) и мощны при своей лаконичности.Каждый язык (или правильнее сказать: каждая группа языков) нацелена на решение вполне конкретного класса задач. И здесь нет и не должно быть никаких "пересечений" у языков (языковых групп). Но все языки существуют в рамках единой системы, и в этом состоит основа их семантического единства. Как (в чем) выражается это единство?..
## Код:
```
---- [интерфейс с внешней средой (например с пользователями)]

самый верхний уровень системы N

---- [интерфейс с уровнем N-1]

уровень N-1

---- [интерфейс с уровнем N-2]

уровень ...

---- [интерфейс с уровнями 3.х]

уровень 3.1                                       уровень 3.2

---- [интерфейс с уровнями 2]

уровень 2

---- [интерфейс с уровнем 1]

уровень 1

---- [интерфейс с внешней средой (например, с операционной системой)]
```

Интерфейс с над-уровнем представляет собой некоторое множество операций/функций/деклараций, которые должен реализовать данный уровень. Интерфейс с нижележащим уровнем представляет из себя набор требований к операциям/функциям, которые необходимы данному уровню. Если разбираться более детально, то просматривая интерфейсы сверху-вниз можно увидеть логическую структуру системы (декомпозиция интерфейсов), где каждый уровень реализует вполне определенную часть логики системы. В таком случае, язык, принятый для данного уровня - это эффективное средство реализации/раскрытия этой логики (цели уровня). При этом, языки всех уровней подчиняются единым правилам. Об этом единстве всех языков и говорилось.
Возможно, это не так просто понять, поскольку сегодня языки программирования не имеют системной/объединяющей основы и не имеют привязки к конкретике задач (задаваемой интерфейсами).

> -- Valery Solovey писал(а):
> А вторая проблема, которая несколько проще, в том, что универсальными эти языки точно не будут, и знание принципов только позволит реализовать их для той или иной системы. Точнее, реализовывать их как часть системы.Именно это и требуется. А универсальность слишком запутанное понятие... Отвертка - это универсальный инструмент?.. С одной стороны, - да, ведь ей можно закручивать разные винты и шурупы. С другой стороны, - нет. Ничего, кроме закручивания, она делать не умеет.
Разбиение языков по уровням подчеркивает их специализацию на определенном классе задач, но не их универсальность.