ЗАМЕЧАНИЕ
Весьма любопытно, что Фортран жив и успешно используется до сих пор,
например, в научных расчетах — конечно, развиваясь и вбирая новшества в
программировании (были выпущены стандарты Фортран 77 и Фортран 90).
Объясняется это, в частности, большим объемом наработанных эффективных
библиотек программ, которые нет смысла переписывать на другие языки, но не
только этим — например, в язык изначально встроена поддержка комплексных
чисел, чего нет во многих современных языках.
22
При создании языков высокого уровня делалась попытка выразить в языке
суть алгоритма решения задачи, абстрагированного от мелких деталей
реализации на той или иной ЭВМ, что нашло свое отражение в названии
еще одного знаменитого языка программирования — Алгол (от англ.
algorithmic language —
алгоритмический язык).
Более того, по крайней мере в некоторой степени (поскольку все же
нюансы реализации на разных платформах различались) программы на
языках высокого уровня стали переносимыми. Для того чтобы программу
можно было использовать на некоторой ЭВМ (с произвольной системой
команд), достаточно было наличия для нее транслятора (программы-
переводчика) с соответствующего языка высокого уровня в машинный код.
При наличии трансляторов для разных архитектур теоретически
становится возможным написать и отладить программу на одной ЭВМ, а
затем перенести ее на другую и там использовать.
Естественно, к минусам данной технологии можно отнести необходимость
предварительной разработки транслятора. При этом он может относиться к
одной из двух разновидностей: компиляторы и интерпретаторы. Разница
между ними заключается в следующем. Компилятор принимает на вход
всю программу на языке высокого уровня целиком и в результате процесса
трансляции строит так называемый объектный модуль, содержащий
машинный код, понятный процессору целевой ЭВМ. Интерпретатор
переводит программу на языке высокого уровня построчно, при этом для
каждой строки исходной программы создает некоторое внутреннее
представление на специальном промежуточном языке, которое
направляется специальной машине времени исполнения, или виртуальной
машине (Virtual Machine). Эта машина немедленно исполняет полученное
предписание.
И у компиляторов, и у интерпретаторов есть достоинства и недостатки.
К достоинствам компилятора относится в первую очередь то, что
полученный машинный код может непосредственно исполняться на
данной ЭВМ, при этом наличия компилятора в момент выполнения не
требуется. Выполнение же происходит на максимально возможной
скорости. Однако в случае необходимости внесения в программу
изменения, даже минимального, потребуется произвести перекомпиляцию
исходного текста полностью, даже если он насчитывает десятки тысяч
строк!
Интерпретатор переводит программу построчно, поэтому он удобен для
отладки программы, когда постоянно происходят уточнения и изменения и
нужно быстро увидеть, как поведет себя откорректированная программа. К
недостаткам интерпретатора относится то, что, поскольку программа
исполняется интерпретатором, а не непосредственно процессором, во-
23
первых, скорость выполнения программы существенно ниже, чем при
компиляции (обычно в 10–20 раз), а во-вторых, требуется наличие машины
времени выполнения в памяти.
Достарыңызбен бөлісу: |