Понятие языка программирования

Язык программирования[19]- формальный язык для описания алгоритма решения задачи на компьютере.

Каждый язык программирования имеет:

· алфавит – фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке;

· синтаксис – систему правил, определяющих допустимые конструкции языка программирования из букв алфавита;

· семантику – систему правил однозначного толкования отдельных языковых конструкций, позволяющих воспроизвести процесс обработки данных.

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

Понятие языка программирования - student2.ru

Рис 2.3. Схема процесса создания загрузочного[20] модуля программы

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

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

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

В зависимости от способа преобразования операндов языка программирования в инструкции для ЭВМ их подразделяют на:

· языки низкого уровня (трансляторы), которые осуществляют транслитерацию, т.е. преобразование одного оператора языка в одну машинную инструкцию (пример - ассемблеры)

· языки высокого уровня (компиляторы[21]), осуществляющие преобразование одного оператора языка в несколько машинных инструкций.

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

Языки высокого уровня имитируют естественные языки и имеют следующие достоинства:

· алфавит значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;

· набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;

· конструкции команд (операторов) отражают содержательные виды обработки данных и задаются в удобном для человека виде;

· используется аппарат переменных и действия с ними;

· поддерживается широкий набор типов данных.

Наши рекомендации