Р.У. Себеста - Основные копцепции языков программирования (2001) (1160794), страница 22
Текст из файла (страница 22)
Первый шаг к совершенствованию: язык АЮС)ь 60 У9 яиш:= яеш + 1гг11я [соопсег;' а) ооввепе Вычисление среднего арифметического; ачега9е := япш / 11яб'еп; ооввепс Вычисление количества входных вегичин, которые больше пх среднего; хок соппгег := 1 веер 1 ипс11 11я'1еп с1о Н 1пс11ят[содпсег) > ачегаде с)зеп геяд1г:= геяп1г + 1; ооввепс Вывод результатов; рггп"ягг'п0("Число величин, которые больше их среднего:); ргзпс1пг (геяо1с) епс( е1ве рг1пгясг1па (" Ошибка — введена неверная длина списка"); епе Происхождение языка А[.ОО[. 60 представлено на рис.
2.3. ВОВТВАН 1 (1957) ° А1ЛОЬ 58 (1958) ° А(001. 60 (1960) Рис. 2.3. Геяеатоли языка .4 ЕОО/. 60 2.6. Компьютеризация коммерческих записей: язык СОВОГО История языка СОВО[. действительно необычна. Хотя использовался он больше, чем какой бы то ии было язык программирования, его влияние на структуру последующих языков было очень незначительным, за исключением языка Р[/(.
Возможно. он и по сегодняшний день является самым широко используемым языком программирования, хотя трудно сказать, так это или нет. Вероятно, важнейшей причиной слабого влияния языка СОВО[. можно назвать то. что очень немногие после его появления пытались разработать новый язык для коммерческих приложений. Последнее может быть следствием того, что возможности языка СОВО[.
вполне удовлетворяют потребности этой области. Другой причиной малого влияния можно назвать то. что значительная часть роста коммерческих вычислений последних ) 5 лет приходится на малый бизнес. В этой области разрабатывается очень мало программного обеспечения. Вместо этого большая часть используемого программного обеспечения заказывается в виде готовых пакетов для различных коммерческих приложений.
2.6.1. Исторические предпосылки Возникновение языка СОВО[. в чем-то схоже с возникновением языка А1ОО[. 60 в точ смысле. что этот язык тоже разрабатывшюя группой людей. собиравшихся на относительно короткий промежуток времени. В (959 году положение в сфере коммерческих вычислений было подобно состоянию в области научных расчетов, существовавшему 80 Глава 2. Обзор основных языков программирования несколькимн годами ранее во время разработки языка РОКТКАГ.
В 1957 гол) бьш реализован компилируемый язык лля коммерческих приложений Г(.ОЪ -МАТ!С. но он приналлежал одному производителю. компании ()х)!ЧАС. и был разработан лля компьютеров именно этой компании. Другой язык. А! МАСО. использовазся ВВС США. но он оыл разновидностью языка Е!.ОзЧ-МАТ!С. незначительно отличавшейся от оригиназа. Корпорация 1ВМ разработаза язык программирования лля коммерческих приложений СОМТКАН (СОМглегс)а! ТКАНз1агог — коммерческий транслятор). но этот язык не реализован до снх пор. Еше несколько конструкторских работ по созданию языков тогда только намечались. 2.6.2.
Язык Н.О1М-МАПС Происхождение языка Е(.ОзЧ-МАТ!С стоит хотя бы краткого обе)жления. поскольку этот язык был прародителем языка СОВОГО. В лекаоре 1953 гола Грейс Хоппер нз компании Кеш)пз!оп-Канд ЦМЧАС высказала предположение. оказавшееся пророческим.
Она утверждала. что "математические программы следует писать с помошью математических обозначений. программы обработки данных следует писать на английском" (Мехе! Ыаг, 1981). К сожалению. в ! 953 голу было невозможно убедить непрограмм истов в том, что можно созлать компьютер, понимаюший английские слова. Только в 1955 году подобное предложение получило шансы на финансирование со стороны руководства компании 1ЛЧ1ЧАС, но лаже тогда потребовался прооный объект лля принятия окончательного решения. Частью рекламы был запуск небольшой программы. вначазе использовавшей английские ключевые слова. затем французские.
а после этого — немецкие. Руководство компании Ц)ч)ЧАС призназо демонстрацию убедительной. что и стало решающим фактором при принятии ими плана Хоппер. 2.6.3. Процесс разработки языка СОВОГО Первое официальное собрание. посвяшенное универсальному языку лля коммерческих приложений, финансируемое Министерством обороны США. состоялось в Пентагоне 28 и 29 мая 1959 гола (точно через гол после собрания в Цюрихе.
посвяшенного разработке языка АЕООЕ). Елинолушно было выработано мнение. что новый язык. получивший название СВ1 (Сопипоп Вцмпеьз Еапйца8е — общий коммерческий язык), должен иметь следующие основные характеристики. Большинство согласилось. что нужно максимально использовать английский язык. хотя некоторые и выступали за более широкое использование математических обозначений. Использование языка должно было быть легким, лаже за счет потери мощности. чтобы расширить кру г тех. кто может программировать на компьютере.
Кроме того, прелполагазось. что менеджеры смогут читать программы, если использовать в языке программирования английский язык. Наконец, проект не лолжен был чрезмерно ограничиваться проблемами его реализации. Поскольку была проведена большая подготовительная работа. создавать уииверсазьный язык следовало немедленно. Кроме того, компании КСА и Бу)чап)а уже работали над собственными языками коммерчесюгк приложений. При таких обстаятельствах было решено провести краткое изучение сушествуюших языков программирования. лля чего был сформирован комитет %оп Капзе Соппп)цее.
Ранее были приняты решения о разделении выражений языка на лве категории— описания данных и выполняемых операций — и о размешении выражений этих двух категорий в разных частях программ. Олин из самых жарких споров в комизезе 5!1оп 81 2.6. Компьютеризация коммерческих записей: язык СОВО(. йапйе Сопппраее велся вокруг введения индексов.
Многие члены комитета доказывали. что индексы — слишком сложное понятие для математически малообразованных людей, занимающихся обработкой данных. Подобные аргументы приводились и при обсуждении возможности включения математических выражений. В окончательном отчете комитета, завершенном к декабрю 1959 гола, описывался язык, позднее названный языком СОВОГО 60.
Спецификации языка СОВОГО 60, опубликованные правительственной типографией Оочекпепг Рппйпй О(бее в апреле 1960 года (Оеракпзелг о( Ре(епзе, 1960), были описаны как "исходные". Исправленные версии были опубликованы в 1961 и 1962 голах (Оеракгпеш о( Ре(епзе, 1961, 1962). В 1968 году язык был стандартизирован Национальным институтом стандартизации США (АНЬ!). Следующие две переработанные версии языка были стандартизированы тем же институтом в 1974 и 1985 годах. В наше время язык продолжает эволюционировать. 2.6.4.
Оценка Язык СОВОГО положил начало большому количеству новых концепций, некоторые из которых в конечном итоге появились и в других языках. Например, использованный в языке СОВО) глагол РЕЕ)ХЕ (" определить" ) был первой высокоуровневой языковой конструкцией лля макросов.
Более важный факт; иерархические структуры данных, впервые появившиеся в языке Р1апКа!к01, были реализованы в языке СОВО1.. Эти структуры были включены практически во все императивные языки, разработанные с тех пор. Кроме того, язык СОВОГО был первым языком, в котором имена стали действительно осмысленными, поскольку в этом языке допускалось использование как длинных имен (до 30 символов), так и символов соединения слов (тнре). Вообще, раздел данных — сильная сторона структуры языка СОВО(, тогда как раздел процедур — относительно слабая. В разделе данных подробно определяется каждая переменная, в том числе количество десятичных разрядов и связанное с ним положение точки в десятичной записи.
Записи файлов описывались на таком же детальном уровне, как строки, выводимые на принтер. что сделало язык СОВО). идеальным для печати бухгалтерских отчетов. Вероятно, самой слабой стороной раздела процедур было недостаточное количество функций. Отметим, что до стандарта 1974 года все версии языка СОВОГО не допускали подпрограмм с параметрами. Наш последний комментарий относительно языка СОВОГО: это был первый язык программирования, использование которого поддерживалось Министерством обороны США. Эта поддержка возникла после его первоначальной разработки, поскольку язык СОВОГО не был создан специально лля Министерства обороны.
Несмотря на свое качество, язык СОВОГО, вероятно, не смог бы выжить без этой поддержки. Недостаточная производительность его первых компиляторов просто сделала бы его использование слишком дорогим. В конечном итоге, разумеется, люди больше узнали о разработке компиляторов, да и компьютеры стали быстрее, дешевле и имеют больше памяти. Все эти факторы в совокупности привели язык СОВОГО к успеху как внутри, так и вне Министерства обороны. Его появление привело к электронной механизации бухгалтерских дел, что по любым меркам было революцией.
Ниже следует пример программы на языке СОВО1.. Эта программа считывает файл ВАЬ-гтяО-Е11.Е, содержащий инвентаризационную информацию о некотором наборе изделий. Среди прочего, каждая запись по изделию содержит количество имеющихся из- В2 Глава 2. Обзор основных языков программирования делий (ВАь-Он-нАИО) и момент возобновления заказа на иэделие (ВАь-кеОВОБВ- Р01НТ), т.е, момент, когда число иэделий, требХюших доставки. превышает количество число имеющихся иэделий. Программа порождает файл КЕОКОЕК-Ь15:1НС.
содержа- щий список изделий, требующий повторного заказа. 1ОЕНТ1Г1САТ10Н 01Ч1510Н. РКООВАМ-10. РКОООСЕ-КЕОКОЕК-ЫЯТ1НО. ЕНЧ1ВОНМЕНТ 01Ч1510Н. СОНГ100ВАТ10Н ЯЕСТ10Н. БООКСЕ-СОМРОТЕК. ОЕС-ЧАХ. ОВТЕСТ-СОМРОТЕК. ОЕС-ЧАХ. 1НРОТ"ООТРОТ БЕСТ10Н. ГТЬЕ-СОНТКОЬ. ЯЕЬЕСТ ВАЬ-ГОИ-Г1ЬЕ А5810Н ТО КЕАОЕК. ЯЕЬЕСТ КЕОВОЕК-ЫЯТТНО АБ510Н ТО ЬОСАЬ-РВТНТЕК. ОАТА 01Ч1810Н. Г1ЬЕ БЕСТ10Н. ГО ВАЬ-ГОИ-Г1ЬЕ ЬАВЕЬ ВЕСОКОЯ АВЕ БТАНРАВО ВЕСОКО СОНТА1НЯ 80 СНАВАСТЕВЯ. Р1СТОВЕ 15 9(5).