Языки программирования

Все программы создаются с помощью языков программирования. Языки программирования – это искусственные языки. От естественных они отличаются ограниченным числом “слов” (значение которых понятно транслятору), и очень строгими правилами записи команд (операторов). Совокупность подобных требований образуют синтаксис языка программирования. Нарушение формы записи программы приводит к тому, что транслятор не может понять назначение оператора и выдает ошибку.

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯВЛЯЕТСЯ ПРОМЕЖУТОЧНЫМ ПРИ ПЕРЕХОДЕ ОТ ЕСТЕСТВЕННОГО ЧЕЛОВЕЧЕСКОГО ЯЗЫКА К МАШИННЫМ ДВОИЧНЫМ КОДАМ.

Языки программирования бывают высокого и низкого уровней. Языки программирования высокого уровня (как видно из схемы) являются более близкими к естественному человеческому языку по сравнению с языками программирования низкого уровня. Создание текста программы на языке программирования выполняется человеком вручную, а перевод текста программы в машинные двоичные коды - трансляция (англ.translation - перевод) выполняется специальными программами - трансляторами.

Трансляторы

Так как текст программы, записанной на каком-нибудь языке программирования, не понятен компьютеру, то требуется перевести его на машинный язык. Перевод программы с языка программирования на язык машинных кодов называется трансляцией (translation - перевод), а выполняется он специальными программами – трансляторами.

Существуют два вида трансляторов: интерпретаторы, компиляторы.

Интерпретатором называется транслятор, производящий пооператорную (покомандную) трансляцию и последующее выполнение оттранслированного оператора исходной программы. Два недостатка метода интерпретации:

1. интерпретирующая программа должна находиться в памяти ЭВМ в течение всего процесса выполнения исходной программы, т.е занимать определенный объем памяти;

2. процесс трансляции одного и того же оператора повторяется столько раз, сколько раз должна исполняться эта команды в программе.

Компилятор – это программа, которая преобразует (транслирует) исходную программу в программу (модуль) на машинном языке. После этого программа записывается в память компьютера и только потом исполняется.

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

Любой транслятор решает следующие основные задачи:

1. Анализирует транслируемую программу и определяет, содержит ли она синтаксические ошибки;

2. Генерирует выходную программу на языке команд ЭВМ;

3. Распределяет память для выходной программы, т.е. каждой переменной, константе, массивам и другим объектам отводится свой участок памяти.

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

Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию — в зависимости от того, для каких целей он создавался. Например, Паскаль обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данный язык обычно реализуется с помощью компилятора. С другой стороны, Бейсик создавался как язык для начинающих программистов, для которых построчное выполнение программы имеет неоспоримые преимущества. Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: