Модуль: Введение в языки программирования


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


Для решения проблем читаемости и переносимости были разработаны новые языки программирования, такие как C, C++, Pascal (а позже и такие языки, как Java, Javascript и Perl). Эти языки называются языками высокого уровня , поскольку они предназначены для того, чтобы позволить программисту писать программы, не беспокоясь о том, на каком компьютере будет запускаться программа.

Вот та же инструкция, что и выше для C/C++: a = 97;

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

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

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

Вот упрощенное представление процесса компиляции:
Код высокого уровня Компилятор Исполняемый файл
Исполняемый файл Процессор Результат программы Поскольку программы C++ обычно компилируются, вскоре мы рассмотрим компиляторы C++ более подробно.
 
Интерпретатор — это программа, которая напрямую выполняет инструкции исходного кода, не требуя их предварительной компиляции в исполняемый файл .

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

Вот упрощенное представление процесса интерпретации: Код высокоуровнего языка Интерпретатор Процессор Результат программы


Преимущества высокоуровневых языков программирования
  • Легче писать/читать код. Вот вышеприведенная команда, но уже на языке C++:  а = 97;
  • Требуется меньше инструкций для выполнения определенного задания. В языке C++ вы можете сделать что-то вроде а = Ь * 2 + 5; в одной строке. В языке ассемблера вам пришлось бы использовать 5 или 6 инструкций.
  •  Вы не должны заботиться о таких деталях, как загрузка переменных в регистры процессора. Компилятор или интерпретатор берёт это на себя.
  • Высокоуровневые языки программирования более портируемые под различные архитектуры.
     

time 1000 ms
memory 256 Mb

Комментарий учителя