Мне без разницы - писали или не писали. Кому то удобней - ради бога. Для PDP-11 систему команд спроектировали под удобное написание на языке ассемблера. Хотя, конечно, не обошлось без некоторых закидонов. Учитывая количество и стоимость ресурсов (в те времена) - без вариантов. Если бы проектировали 32-битную систему (VAX не с нуля проектировали - учитывалась возможная совместимость с PDP-11, но проектировали так же под написание на языке ассемблера) - возможно, получилось бы что то столь же удобное. Но учитывая, сколько нужно написать символов для стандартных действий - по скорости написания программирование на языке ассемблера будет медленней и чревато то большим количеством ошибок (которые в какой то степени ловят компиляторы высокоуровневых языков).
Правильный подход, как мне кажется - проектирование высокоуровневого языка и ПОД НЕГО систему команд процессора. Хотя и тут не без проблем - попытка запихать в язык всё, что только может понадобиться. Как показывает история - попытка спроектировать универсальный язык (PL/1, Алгол-68, ADA, Java) в исторической перспективе терпит фиаско. Нужен язык, который можно было бы расширить под предметную область, причём так, что бы это НЕ ПОТРЕБОВАЛО БЫ переделки компилятора (близкая по идее возможность - макросы в MACRO-11) - то есть некий пакет расширения языка плюс исполняющая система (ака библиотеки) под него.
Но тут мы налетаем на
а) коммерческим фирмам это почти нахрен не нужно - ибо требует длительного проектирования с неясными перспективами получения результата, денежные затраты с неясными перспективами возможности на этом заработать
б) научные круги обычно закапываются в высокие сферы со слабой применимостью в коммерческих фирмах. Классический пример - Алгол-68 проектировали ботаники. Описание языка (синтаксис и семантика) - книга формата примерно А4 толщиной сантиметра 3, причём, насколько я помню, примерно треть книги - это описание метаязыка (с использованием БНФ, если мне не изменяет память), на котором потом описывался Алгол-68. Когда она мне попалась в руки (год так 85, а начал я иметь дела с компом в феврале 84-ого) - я смог с трудом осилить страниц 10. Жаль, не сохранил печатное издание
в) технологии меняются настолько быстро, что и проектировать это надо тоже... не медленно
г) ахеренное количество софта, написанное под x86-x64, который будет грубо и злобно конкурировать с этими язык и машиной мечты.
Языки типа Паскаля, Modula-2 и Оберонов страдают существенным недостатком, по сравнению с С-подобными - при прочих равных условиях приходится вводить больше СИМВОЛОВ, ну и плюс никакая синтаксическая расширяемость - ни макросов, ни шаблонов, ни дженериков. Так что - идеалисты, фанаты, спец области, но не коммерческая разработка.
- - - Добавлено - - -
Вдогонку. Ни макросы, ни шаблоны сами по себе не являются удобным способом расширения языка - достаточно вспомнить С++. Что то более близкое к идеалу - идея дженериков. С ней я знаком практически на 100 процентов из C#, так что не могу сказать - насколько это удобно в других языках, поддерживающих эту идею






Ответить с цитированием