Языки высокого уровня 

Языки высокого уровня

1.3.3

Запись программ на языке ассемблера является достаточно трудной, поэтому были разработаны способы написания программ в стиле, напоминающем обычный английский язык. Это достигается с помощью так называемых «языков высокого уровня», из которых, возможно, наиболее известны Pascal, FORTRAN и широко распространенный BASIC (существует еще очень много других языков: RPG, FORTH, LISP, CORAL, С и другие — каждый со своими привлекательными особенностями).

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

program multtable (input, output);

var number, count: integer

begin

readln ('Which table do you want', number);

for count = 1 to 10 do

writeln (count, 'times', number, 'is', count*number);

end. (of program)

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

Исходная программа на языке высокого уровня может быть выполнена двумя различными способами. Компилятор — это программа, которая преобразует целиком программу на языке высокого уровня в объектную программу в машинном коде. Затем полученная объектная программа может быть выполнена независимо от исходной программы или компилятора.

В случае использования интерпретатора как исходная программа, так и интерпретатор присутствуют в машине во время выполнения. Интерпретатор просматривает каждую из строк исходного кода, преобразуя их в эквивалентную инструкцию в машинном коде по мере их выполнения. Объектная программа при использовании интерпретатора не создается.

Компилируемая программа выполняется намного быстрее, чем интерпретируемая (обычно в 5—10 раз, поскольку интерпретатор должен осуществлять дополнительные операции), и скомпилированная объектная программа будет гораздо меньше, чем эквивалентная исходная программа для интерпретатора. Компиляторы тем не менее не столь просты в использовании, о чем свидетельствует следующая типичная последовательность:

  1. В компьютер загружается текстовый редактор.
  2. Исходная программа вводится с клавиатуры или загружается с диска.
  3. Полученный исходный файл сохраняется на жестком диске.
  4. Компилятор загружается с диска и затем запускается на выполнение.
  5. Исходный файл загружается с жесткого диска.
  6. Начинается процесс компиляции (это потребует нескольких минут). Если обнаруживаются какие-либо ошибки, необходимо вернуться к шагу 1.
  7. Создается объектная программа, которая может быть сохранена на жестком диске и/или запущена на выполнение. При обнаружении каких-либо ошибок при выполнении необхо-* димо вернуться к шагу 1.

Язык интерпретатора намного проще в применении, и для многих прикладных задач потеря скорости не является существенной. Как правило, BASIC является интерпретируемым языком, a Pascal, С и FORTRAN — компилируемыми. Рис 1.9 наглядно представляет работу с компилируемыми и интерпретируемыми языками высокого уровня.