Читаем Код. Тайный язык информатики полностью

Самый старый из используемых сегодня языков высокого уровня — ФОРТРАН (FORTRAN) (хотя за прошедшие годы он был многократно пересмотрен). Названия многих языков программирования пишутся прописными буквами, потому что являются акронимами. Название FORTRAN образовано от слов FORmula и TRANslation («трансляция формул»). Он был разработан в IBM для компьютеров серии 704 в середине 1950-х годов. На протяжении многих лет именно ФОРТРАНом пользовались ученые и инженеры. Он предусматривает обширную поддержку операций с плавающей точкой и работу с комплексными числами (которые, как я объяснил в предыдущей главе, представляют собой комбинации действительных и мнимых чисел).

У каждого языка программирования существуют сторонники и противники, которые могут горячо отстаивать свои предпочтения. В попытке занять нейтральную позицию при описании следующих концепций программирования я выбрал язык, который почти никто уже не использует, — АЛГОЛ (ALGOL — ALGOrithmic Language, алгоритмический язык; так же называется вторая по яркости звезда в созвездии Персея).

АЛГОЛ подходит для исследования природы высокоуровневых языков программирования, поскольку во многих отношениях это прямой предок многих популярных языков общего назначения, разработанных за последние 40 лет. Даже сегодня люди называют некоторые языки программирования языками типа АЛГОЛ.

Первая версия этого языка, АЛГОЛ 58, была разработана международным комитетом программистов в 1957 и 1958 годах. Два года спустя, в 1960-м, язык был доработан, а его пересмотренная версия получила название АЛГОЛ 60. Со временем появился АЛГОЛ 68, однако в этой главе я буду обращаться к версии, описанной в документе «Переработанное описание алгоритмического языка АЛГОЛ 60», который был завершен в 1962 году и впервые опубликован в 1963-м.

Давайте напишем краткий код на языке АЛГОЛ. Предположим, у нас есть компилятор под названием ALGOL.COM, который работает под управлением операционной системы CP/M или MS-DOS. Наша первая программа, написанная на языке АЛГОЛ, — текстовый файл с именем FIRST.ALG. Обратите внимание на тип файла ALG.

Программа на этом языке должна быть заключена между словами begin и end. Отобразим следующую текстовую строку.

Вы можете запустить компилятор, указав на программу FIRST.ALG, следующим образом.

ALGOL FIRST.ALG

Скорее всего, в ответ компилятор выведет что-то вроде этого.

Line 3: Unrecognized keyword 'ende'

К орфографическим ошибкам компилятор относится строже, чем придирчивый преподаватель. Я допустил ошибку в слове end, когда писал код, поэтому компилятор сообщил мне о наличии синтаксической ошибки. Вместо ende он ожидал встретить ключевое слово, которое способен распознать.

После исправления ошибки вы можете снова запустить компилятор. Иногда он может создать исполняемый файл напрямую (с именем FIRST.COM или FIRST.EXE в MS-DOS); иногда вам нужно выполнить еще одно действие. В любом случае, вскоре вы сможете запустить программу FIRST из командной строки.

FIRST

Программа FIRST выведет на экран следующую строку.

This is my fist ALGOL program!

Ой! Еще одна орфографическая ошибка (в слове first («первая») пропущена буква r). Компилятор не в состоянии обнаружить эту ошибку, поэтому она называется ошибкой времени выполнения — проявляется только при запуске программы.

Вероятно, вы уже поняли, что оператор print в нашей первой программе на языке АЛГОЛ отображает что-то на экране, в данном случае строку текста (эквивалент программы, написанной на языке ассемблера CP/M). На самом деле оператор print — это не часть официальной спецификации языка АЛГОЛ, но я предполагаю, что конкретный используемый нами компилятор предусматривает такую функцию, иногда называемую встроенной. Большинство операторов АЛГОЛ (не считая begin и end) должны сопровождаться точкой с запятой. Отступ для оператора print не обязателен, однако он часто применяется, чтобы сделать структуру программы более четкой.

Предположим, что вы хотите написать программу, которая перемножает два числа. В каждом языке программирования существует понятие переменной. Именем переменной в программе может быть буква, короткая последовательность букв или даже короткое слово. Переменная соответствует области памяти, однако в программе для обращения к ней используется имя, а не адрес памяти в числовом выражении. В этой программе задействованы три переменных с именами ab и c.

Оператор real необходим для объявления переменных в программе. В данном случае переменные называются ab и c и представляют собой действительные числа или числа с плавающей точкой. (Для объявления целочисленных переменных в языке АЛГОЛ есть ключевое слово integer.) Как правило, языки программирования требуют того, чтобы имена переменных начинались с буквы. Еще они могут содержать числа, но в переменных не должны употребляться пробелы и большая часть других символов. Часто компиляторы ограничивают длину имени переменной. В приведенном в этой главе примере я использую просто буквы.

Перейти на страницу:

Похожие книги