Cтраница 3
Вторая причина, по которой синтаксис программ остался в тени, заключается в том, что в нем многое носит случайный характер. По синтаксическим структурам языки разнятся значительно сильнее, чем по лежащей в их основе семантической структуре. Достаточно бегло просмотреть примеры программ на различных языках из части II, чтобы это стало очевидным. Такие различия в синтаксисе в большой мере определяются индивидуальными вкусами разработчиков языков и поэтому не заслуживают широкого обсуждения. Действительно, немного найдется общепринятых правил на синтаксическую структуру в языках программирования - каждый разработчик языка стремится выбрать структуры, с его точки зрения, наиболее естественные и для него наиболее приемлемые. [31]
Иногда трудно устоять против настойчивых требований пользователей включить все типы средств, которые хороша было бы иметь. Опасность состоит в том, что стремление угодить чьему-то жеШанию нарушит согласованность всего проекта. Например, размышляя, не включить ли некую языковую конструкцию или специальную обработку в компиляторе какой-то достаточно часто используемой конструкции, следует оценить выгоды и дополнительные расходы при реализации, поскольку одно только ее наличие сделает систему более громоздкой. Разработчики языка часто недооценивают этот момент. Я с готовностью допускаю, что временами было бы хорошо иметь некоторые возможности языка Ада, которые не имеют аналогов в Модуле-2, но в то же время я спрашиваю, стоят ли они таких затрат. Во-первых, хотя создание обоих языков началось в 1977 г., компиляторы языка Ада начали появляться только сейчас, в то время как Модулой мы уже пользуемся с 1979 г. Во-вторых, ходят слухи, что компиляторы Ады - это гигантские программы, состоящие из нескольких сотен тысяч строк команд, в то время как наш новейший компилятор Модулы измеряется лишь 5 тысячами строк. Признаюсь по секрету, что этот компилятор Модулы уже находится на пределе того уровня сложности, который еще можно понять, и я чувствую себя совершенно неспособным создать хороший компилятор для Ады. [32]
Вторая причина, по которой синтаксис программ остался в тени, заключается в том, что в нем многое носит случайный характер. По синтаксическим структурам языки разнятся значительно сильнее, чем по лежащей в их основе семантической структуре. Достаточно бегло просмотреть примеры программ на различных языках из части II, чтобы это стало очевидным. Такие различия в синтаксисе в большой мере определяются индивидуальными вкусами разработчиков языков и поэтому не заслуживают широкого обсуждения. Действительно, немного найдется общепринятых правил на синтаксическую структуру в языках программирования - каждый разработчик языка стремится выбрать структуры, с его точки зрения, наиболее естественные и для него наиболее приемлемые. [33]