Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / Языки программирования.doc
Скачиваний:
31
Добавлен:
24.02.2014
Размер:
95.23 Кб
Скачать

2.5.Язык algol

За создание следующего языка программирования решили взяться ученые тех областей науки, которые в англоязычной литературе обычно объединяют под названием «Computer Science», т.е. «наука о компьютерах».

В 1960 г. на основании отчетов научных конференций был создан обобщающий документ, описывающий новый язык — ALGOL-60. Его наименование произошло от английского algorithmic language — «алгоритмический язык».

Для переменных стали четко определяться участки программы, в пределах которых эти переменные могут использоваться. Такие участки программы называются областями видимости, а про переменную говорят, что она видна или не видна в данной области программы. Переменная, объявленная внутри функции, процедуры или специального логического блока операторов, будет видна только внутри данной конструкции.

Стало обязательным указание типа переменных перед их использованием — объявление.

Помимо «общеоздоровительного эффекта», связанного с более продуманным использованием переменных, введение областей видимости позволило добавить в язык вызов функции из самой себя. Вызов таких вложенных функций называется рекурсией, а функции, которые вызывают сами себя, — рекурсивными.

В языке ALGOL были четко описаны структурные управляющие операторы: операторы выбора и операторы повторения (цикла). Операторы выбора позволяют выполнять те или иные участки кода в зависимости от вычисляемого условия. Операторы цикла предназначены для повторения определённого участка кода заданное количество раз или до тех пор, пока не выполнится определённое условие.

Управляющие операторы присутствовали и в языках Ассемблер и FORTRAN,но они не были основным элементом при написании программ, не обладали удобством использования.

Через восемь лет, в 1968 г., вышел новый, переработанный и дополненный вариант языка Algol-60, который получил вполне предсказуемое имя Algol-68. С этим стандартом связана и опубликованная в 1969 г. статья Эдсгера В. Дейкстры о структурном программировании.

К сожалению, новая версия Algol-68 так и не смогла не только завоевать популярность у прикладных программистов, но даже пробиться в ряды коммерческих продуктов. Язык Algol остался научным исследованием, «академическим» языком, который оказал огромное влияние на развитие языков программирования в целом. Он стал фактически стандартом для описания компьютерных алгоритмов в научных исследованиях и породил целое семейство алголоподобных языков (к которым, собственно, и относятся почти все современные процедурные языки, такие, как Pascal, Modula, C).

2.6.Язык pascal

В 1970 г. известный швейцарский ученый профессор Никлаус Вирт создал собственный язык программирования, в котором постарался избавиться от всех недостатков языка Algol. Новый язык получил название Pascal.

Этот язык стал первым широко распространенным языком, реализующим в себе концепции структурного программирования, проработанные в 60-х гг. Новый язык вобрал в себя многие черты языка Algol, такие, как строгость описания, богатство управляющих структур, но был более легким для изучения. Это определило возможность его использования для преподавания программирования в университетах, колледжах. Но Pascal избежал участи исключительно «учебного» языка. Он представлял собой достаточно мощный язык программирования, подходящий для создания больших проектов.

Общая структура языка, управляющие конструкции, такие, как циклы, операторы выбора «если — то», напрямую заимствованы из языка Algol. В то же время, поскольку Pascal создавался для обучения программированию, его синтаксис был значительно упрощен. Новый, упрощенный язык позволял практически так же эффективно реализовывать алгоритмы, однако наряду с этим значительно уменьшилось время на изучение языка. Основной его девиз — «Взвешенность, простота, лаконичность».

Создание языка Pascal явилось значительным этапом в развитии языков программирования и определило путь их развития в 70-х гг. ХХ в.; большинство языков следующего десятилетия можно считать прямыми потомками языков Algol и Pascal.

В то же время у языка Pascal имелся ряд существенных недостатков. Так, в массивах не могла использоваться верхняя «открытая», неизвестная на момент компиляции граница. В языке Pascal не предусмотрен тип данных для работы с символьными строками, несмотря на их широкую распространенность. Pascal не учитывал написания кода программы в разных файлах и последующего объединения при компиляции, поэтому, если создавалась большая программа, объем файла с ее текстом мог составлять сотни килобайтов, что делало практически невозможным работу команды программистов. Одному автору — уже было затруднительно найти в ней нужный фрагмент.

В языке Pascal ограничены возможности ввода и вывода информации, не разработана стандартная библиотека вспомогательных функций (например, сравнение строк, которое каждый раз приходилось делать программисту, символ за символом; получение системного времени, работа с файлами операционной системы и др.).