Р.У. Себеста - Основные копцепции языков программирования (2001) (1160794), страница 23
Текст из файла (страница 23)
Р1СТОВЕ 1Я Х(20). РТСТОВЕ 1Я Х(5) . Р1СТОВЕ 18 999Ч99. РТСТОКЕ 18 9(5). РТСТОКЕ 15 9(5). Р1СТОКЕ 1Я 9(5). Р1СТОВЕ 1Я Х(30). ГО КЕОКОЕК-ЫЯТТНО ЬАВЕЬ КЕСОКО АКЕ БТАНОАКО КЕСОВО СОНТА1НЯ 132 СНАВАСТЕВЯ. ИОКК1НО-БТОКАОЕ ЯЕСТ10Н. 01 ЯИ1ТСНЕЯ. 02 САВО-ЕОГ-ЯИ1ТСН Р1СТОКЕ 18 Х. вз 2.6. Компьютеризация коммерческих записей: язык СОВОЬ 01 ВАЬ-ГОИ-САВО. 02 ВАЬ-1ТЕМ-НО 02 ВАЬ-1ТЕМ-ОЕЯС 02 ГТЬЬЕР. 02 ВАЬ-УНТТ"РК1СЕ 02 ВАЬ"КЕОКОЕК-Р01НТ 02 ВАЬ-ОН-НАНО 02 ВАЬ-ОН-ОВОЕК 02 Г1ЬЬЕК 01 КЕОКОЕК-Ь|НЕ.
02 КЬ-1ТЕМ-НО 02 ГТЬЬЕК 02 КЬ-1ТЕМ-ОЕЯС 02 Г111 ЕК 02 ВЬ-ОНТТ-РК1СЕ 02 Г1ЬЬЕК 02 КЬ-АЧА11 АВЬЕ-ЯТОСК 02 Г11,ЬЕР, 02 КЬ"КЕОВОЕК-Р01НТ 02 Г1ЬЬЕВ Р1СТОКЕ Р1СТОКЕ Р1СТОКЕ Р1СТОКЕ Р1СТОКЕ Р1СТОКЕ Р1СТОКЕ Р1СТОКЕ Р1СТОКЕ Р1СТОКЕ 1Я Е(5) . 18 Х(5) . 18 Х(20) . 1Я Х(5) . 1Я ЕЕЕ.99.
1Я Х(5) . 18 Е(5) . 18 Х(5) . 15 Е(5) . 18 Х(71) . КОЕК-к Е 05. АЧА:'..Б Е-ЯТС К Р1СТЕВЕ 15 9)5) - —, ° —." — — Вк~В ЕЯ - |ЯТ|к)5 ОВЕН 00|ЕСТ ВЕОВОЕВ-Ь|ЯТ1ИО. ").'" . О САВО-ЕСЕ-ЯК1ТСН. сЕсгацы ',"О-РВОС"СЕ-ВЕОВОЕВ-ЫИЕ САВО-ЕОР-ЯХ ТСН 15 ЕООАЬ ТО "У". " СЯЕ ВЕОВ"ЕВ -, |ЯТтИ 5|ОР ВС)). С-РВ СБСЕ-ВЕЗВОЕВ-Ь1ИЕ.
РЕВРОРМ О-ВЕА0-1ИЧЕИТОВУ-ВЕСОВО. САН"-505-ЯХ|ТСН 15 ИОТ ЕООАЬ ТО "Т" РЕВРОВМ ЕО САЬСОЬАТЕ-АЧА1ЬАБз Е-ЯТОСК |Е АЧА1ЬАБЬЕ-ЯТОСК |Я ЬЕЯЯ ТНАИ БАЬ-ВЕОВРЕВ-Р01ИТ РЕВЕОВМ 130-РВ1ИТ-ВЕОВОЕВ-Ь1ИЕ. ' С-ВЕА0-1ИЧЕИТ))ВУ-ВЕСОВО. ВЕАО БА:-сОИ-Р ЬЕ ВЕСОВО АТ Е:)Г М ЧЕ ке",0 САВО-ЕОс-ЯИ1ТСН О-САЬСОЬАТЕ-АЧА|ЬАБЬЕ-ЯТОСК. 0 БАЬ-ОИ"НАНО БА" -ОИ-ОВОЕВ 01 Ч|ИД АЧА|! АБ' Е-ЯТОСК. ! )ронскожденне языка СОВОЬ прелстаалено на рнс.
2.4 т Н.Оа).МАТ)С )1057) ° сОВОс)1960) Рис. 2А. Гелеаю.ъя языка СОВОЬ Глава 2. Обзор основных языков проераммировани 30-РВ|ИТ-ВЕОВОЕВ-'1ИЕ. МОЧЕ БРАСЕ МОЧЕ БАЬ-1 ЕМ-ИО МОЧЕ БАЬ-|ТЕМ-ОЕЯС МОЧЕ ЯА -ОИ|Т-РВ|СЕ МОЧЕ АЧА1ЬАБЬЕ-ЯТОСК МОЧЕ БА'-ВЕОВОЕВ-Р01ИТ ИВ1 Е ВЕОВЭЕВ-Ь1ИЕ. ТО ВЕОВОЕВ-ЫИЕ. ТО ВЬ-1ТЕМ-ИО. ТО В' -1ТЕМ-ОЕЯС.
ТО ВЬ-ОИ1Т-РВ1СЕ. ТО ВЬ-АЧА1ЬАБЬЕ-5ТОСК. ТО ВЬ-ВЕОВОЕВ-Р01ИТ. 2.7. Начало разделения времени: язык ВА$!С Еше одним примером широко распространенного языка програччирования. не получившего значительного признания. является язык ВА51С, Подобно языку СОВО(.. он в значительной степени игнорнровазся специатнстачи по кочпьютерным наукач.
Так же, как и язык СОВО).. в своих ранних версиях язык ВА51С был элегантен и содержат только ограниченный набор управляющих операторов Язык ВАЯС был очень попупярным языком программирования на микрокочпьютерах в конце 1970-х и начате 1980-х голов. Это было следствием его основных характеристик, Он легок лля изучения начинаюшичи. особенно течи. кто не связан с наукой.
его неоольшие диалекты могут быть реатизованы на компьютерах с очень чазыч количеством памяти. Возрожление языка ВАЯС произошло в начате 1990-х годов с выходом языка Ч(зпа! ВА5!С (М)сгозой. 1991). 2.7.1. Процесс разработки Язык ВАЯС (Веб)ппег'з АП-рогрозе 5угпЬо1ю 1пмпкбоп Соде — универсальный сичвольный набор команл лля начинающих) был разработан в Дартмутском колледже (Рапшошй Сойезе) (теперь Дартмутском университете (Оапшоигй ()п)ъегз)гу)) в НьюГемпшире двумя математиками.
Джоном Кемени (Лойп Кешепу) и Томасоч Курном (ТЬошаз Кцпг). которые в начате 1960-х годов были связаны с пронзволствоч кочпиляторов для различных лиазектов языков ЕОКТКАЫ и А1.СО!. 60. Их студенты. изучавшие естественные науки, испытывали трудности в работе с указанными языками. Однако Дартмут был преимушественно гуманитарным учреждением. гле студенты. изучавшие естественные и технические науки. составляли приблизительно 15 процентов. Весной 1963 года было решено разработать новый язык.
предназначенный главныч образом лля студентов. изучавших гуманитарные науки. В качестве метода доступа к компьютеру этот новый язык должен был испольэовать терминазы. К языку бьши предъявлены следуюшие требования. 1. Он лолжен быть легким для изучения и использования студентами, не изучаюшнми естественные науки. 2. Он должен быть приятным и лружественным. 3. Язык должен обеспечивать быстрый обмен информацией лля выполнения домашней работы. 4. Он должен позволять как свободный.
так и конфиленциазьный поступ. 5. Время пользователя дояжно быть важнее времени работы компьютера. Последняя цель была действительно революционной концепцией. Она опиратась. по крайней мере частично, на убежденность в том. что со временем компьютеры станут значительно дешевле, что. в обшем-то, и произошло. Комбинация второй. третьей и четвертой целей поролила концепцию разделения времени в языке ВА51С.
В начате 1960-х достичь поставленных целей можно было только с помощью одновременного индивилуального доступа многих пользователей к компьютеру посредством терминалов. Летом 1963 года Кемени начат работу над компилятором лля первой версии языка ВА5!С. используя лля этого улатенный доступ к компьютеру СЕ 225. Разработка и про- 2.7. Ночоло роздвления врвмвнн: язык ВА51С граммирование операционной системы для языка ВА51С начались осенью 1963 года. В 4 часа утра 1 мая 1964 года была напечатана и запущена первая программа с использованием языка с разделением времени ВАЯС.
В июне количество терминалов системы возросло до 11, а к осени — до 20. 2.7.2. Обзор языка Исходная версия языка ВА51С была очень небольшой и, как ни странно, не была интерактивной: не существовало средств получения входных данных с терминала. Программы печатались, компилировались и запускались пакетно-ориентированным способом. Исхолный язык ВА51С имел только 14 различных типов операторов и один тип данных — числа с плавающей точкой.
Поскольку считалось, что только некоторые из пользователей. на которых был ориентирован язык, будут принимать во внимание различия межд> целым типом и типом с плавающей точкой, этот тип был назван "числа". Вообще, это был очень ограниченный язык, хотя и довольно простой для изучения. 2.7.3.
Оценка Важнейшим аспектом исходного языка ВАЯС было его первенство в использовании метода удаленного доступа к компьютеру посредством терминала. В то время терминалы только-только стали доступны. До этого большинство программ вводились в компьютер с помощью перфокарт либо бумажной ленты. Большинство конструкций языка ВА51С произошли от языка ЕОКТКАН при некотором влиянии синтаксиса языка А( ООЕ 60. Позднее он развивался различными путями прн незначительных усилиях по его стандартизации или совсем без них. Институт АНЯ выпустил минимальный стандарт лля языка ВАЯС (М!л!та! ВАЯС) (АЫ51, 1978Ь), представлявший только необходимый минимум свойств языка.
Фактически исходный язык ВАЯС был очень похож на язык М!пипа! ВАЯС. Хотя это и может показаться неожиданным, корпорация О!8па! Ег)ц!раен! Согрогаг!оп использовала детально разработанную версию языка ВАЯС, названную языком ВАЯСР)Л35, с целью написания в 1970-х годах значительной части их крупнейшей операционной системы КБТ5 для миникомпьютеров РОР-11.
Среди прочего язык ВАЯС критиковался за плохую структуру программ, написанных на нем. Согласно нашему критерию оценки язык действительно стоит очень немногого. Очевидно, ранние версии языка не были и не должны были быть средством для написания серьезных программ мало-мальски значительного размера. Последующие версии, правда, были более приспособлены для подобных задач.
Наиболее вероятной причиной успеха языка ВА51С можно назвать легкость его изучения и реализации лаже на очень маленьких компьютерах. Существуют две современные версии языка ВАЯС, не получившие, правда, широкого распространения: язык Оц!сКВА51С (Вгасйеу, 1989) и язык Ч!зца1 ВА51С. Оба они запускаются на персональных компьютерах. Язык Чаша! ВА51С основан на языке Оц!сйВА5!С, но он был создан для разработки систем программного обеспечения, использующих оконный интерфейс пользователя. Язык Чина! ВАЯС также мог использоваться в качестве языка программирования для написания сценариев интерфеса компьютерной графики (СО! — Сопзрцгег СгарЬ|сз! п!егГасе).
Ниже следует пример программы на языке ОшсйВА51С. Вб Глава 2. Обзор основных языков программирования КЕК .„..мер программы на языке Яи1сКВАЯ1С КЕМ Ввод: Целое число 11яг1еп, меньше 100, за которым КЕМ следует набор пелых чисел в количестве КЕМ 11яг1еп КЕМ Вывод: Количество введенных величин, которые больше их КЕМ среднего арифметического 01М 1пг11яс (99) геяи1Г = 0 яиш О 1ЫРОТ 11яг1еп 1Г 11яс1еп > 0 АБО 11яг1еп < 100 ТНЕН КЕМ Считывание входных величин в массив и вычисление суммы ГОК соппгег = 1 ТО 11яс1еп 1НРОТ Тпс11яс(соипсег) ясш ясш + Тпг11яг (соипсег) НЕХТ соипсег КЕМ Вычисление среднего арифметического ачега9е = явш / 11яс1еп КЕМ Вычисление количества входных величин, которые больше их КЕМ среднего ГОК сочпсег 1 ТО 11яс1еп 1Г Тпс11яг(соппсег) > ауегаде ТНЕУ геяи1С геяи10 + 1 НЕХТ соипгег КЕМ Вывод результатов; РК1НТ "Число величин, которые больше их среднего, равно"; геяс10 ЕЕЯЕ РК1МТ "Ошибка — введена неверная длина списка" ЕИО 1Г ЕИО Происхождение языка ВА$1С представлено иа рис.
2.5. А(ОО160 (1960! ГОНТ ОасИВА81С (1988) Иаки ВАВ)С(1990) Рис. 2.5. Генеалогия языка ВЛБ!С В7 2.7. Начало разделения времени: язык ВА$!С 2.8. Все для всех: язык Р1./! Язык Р1г1 представляет собой первую масштабную попытку разработки языка, котопь й бы использоватся в широкол~ спектре областей. Все предшествовавшие и большин- ~ ~во последующих языков программирования концентрировались на какой-то одной об«шти применения (наука, искусственный интеллект или коммерция). 2.8.1.