Здравствуйте, os24ever, Вы писали:
O>Как я заметил, языки как будто поднимаются по какой-то невидимой лестнице, т.е. идут по пути всё большей и большей независимости от среды выполнения и операционной системы, а их авторы постепенно отказываются от некоторых вещей, оставшихся ещё со времён архитектуры Фон-Неймана:
O>▪ Отказались от ячеек памяти, придумав структуры и списки (Алгол-58 и Лисп), O>▪ Отказались от оператора безусловного перехода, придумав циклы (ПЛ/1 с Паскалем), O>▪ Отказались от многословного синтаксиса предыдущих языков, добавили макросы (K&R C), O>▪ Отказались от указателей, заменив их ссылками и добавив сборку мусора (скрипты и Java), O>▪ Отказались от ссылок в глобальной области видимости (Erlang, Scala — наконец-то!!) и т.д...
На мой взгляд, языки развиваются, во-первых, в направлении, позволяющим как можно большему количеству
людей на них писать, при том будучи даже не очень технического образования, т.е. если кратко, простоты и выразительности.
Согласитесь -- одно дело писать на Си или С++, а др. дело на managed-языках. При этом человек может быть спецом
в какой-либо предметной области взять java или шарп, въехать в ООП и уже начать потихоньку что-то работоспособное
клипать, а не возиться с памятью. Причем качество и быстродействие кода определяется пониманием принципов ООП, а не
умением обращаться с памятью. Достигается все это за счет автоматизации (runtime) и абстракции.
Во-вторых, пробуют новые идеи(фичи), отбрасывают не прижившиеся, стараются минимизировать возможность наступать на грабли.
Одним словом, учитывают ошибки других.
Думается мне, что независимость от среды выполнения далеко не главный здесь фактор.