определением среды выполнения, воспримут необходимость самостоятельного
описания и распределения требуемых ресурсов как серьезное неудобство.
Пользователи же, высоко ценящие гибкость программирования, будут это
рассматривать как дополнительное удобство. (Разнообразие средств обременяет
одних, а их недостаток раздражает и сковывает других.) Конечно, хороший
синтаксис пред почтительнее, чем плохой, простота восприятия лучше, чем
сложность, четкость семантики
удобнее, чем двусмысленность, но в конечном счете
достоинства языка определяются тем, насколько его возможности соответствуют
желаниям программиста по управлению вычислительной средой.
Уже неоднократно обсуждался вопрос о будущем языков управления.
Выдвигалось предложение о том, чтобы такие языки вообще отменить. Параметры
должны задаваться с помощью синтаксических конструкций языков
программирования или на уровне
администрации вычислительного центра.
Подобные параметры предназначаются для описания типов пользователей, а также
абсолютной и относительной важности решаемых ими задач. Другая точка зрения
состоит в том, что со временем постепенно начнет повышаться роль работы в
диалоговом режиме. Это естественным образом приведет к исчезновению языков
управления и возникновению новых, более четких языков.
Один
из редко обсуждающихся аспектов применения языков управления —
общение с системой. В прошлом вычислительные системы обычно ориентировались
на языки программирования как на основной интерфейс. Фактически системы
представляли собой реализации ПЛ/1-, Кобол- или Фортран-машин. В таких
условиях естественна была мысль о том, что задание параметров управляющего
языка связано с дополнительными хлопотами
и мешает основной работе —
написанию программы. Теперь некоторые разработчики считают, что настоящим
системным интерфейсом служит язык управления. Общение с системой происходит
на языке управления, специализированными подмножествами которого являются
языки программирования. Язык управления должен иметь структуру, позволяющую
решать прикладные задачи с помощью команд самого языка. И утилиты, и пакеты
прикладных программ необходимо
вызывать средствами языка управления. Может
случиться так, что средств этого языка, например команд SOРТ, СОРY и
SUММАRIZЕ, хватит для решения целиком всей прикладной задачи.
Если язык управления не содержит некоторой функции, то для ее описания
пользователю следует спуститься на уровень языков программирования, например,
таких, как РПГ или ПЛ/1. После
этого соответствующую функцию можно сделать
функцией командного языка. Отношения между командным языком и языками
высокого уровня, таким образом, напоминают отношения между языками высокого
уровня и языком Ассемблера. В случае недостаточной гибкости используемого
языка программирования всегда можно обратиться к языку Ассемблера для
реализации какой-либо отсутствующей функции.
Рассмотренный подход привел бы
к созданию систем со следующими
характеристиками:
• программа на командном языке выполнялась бы пошагово, команда за
56