Уровни языков программирования и эволюция языков

Лекция_7

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

Программа – последовательность действий, выполняющих определенный алгоритм.

Программирование – это процесс написания программ при помощи языков программирования.

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

1. строчные и прописные буквы латинского и национального алфавитов;

2. цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0;

3. знаки операций: + – * / = < : @ & .. ;

4. символ подчеркивания _ и пробела ;

5. ограничители и разделители: . , ' ( ) [ ] { }

6. специальные символы: ^ # $ и др.

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

Синтаксис языка программирования – набор правил записи элементов языка символами алфавита. Используя синтаксические правила, записывается текст программы.

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

Используя алфавит, словарь и правила языка программирования, составляет текст программы. В операторных языках (Фортран, Бейсик, Паскаль. С) текст программы в основном состоит из операторов. В конце каждого оператора записывают специальный символ. Текст программы рекомендуется структурировать, так чтобы улучшить его читаемость. Структура программы может формироваться при записи текста прорраммы на спеиальных бланках (Фортран). В современных языках программирования автоматически формируются шаблоны структуры будущей программы.

Текст программы является основой для разработки программной документации. Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78.

19.101-77. 2.

Текст программы, как правило, хранится на каком то носителе. На персональных коипьютерах используют магнитны и оптические носители, а на более ранних компьютерах – специальные бумажные носители (перфоленты и перфокарты).

Интерпретаторы и компиляторы.

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

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

Примером инерпретирующей прораммы является MathCad. Интерпретатор не создает загрузочный модуль – файл с расширением имени ЕХЕ. Разработка, редактирование и выполнение программы происходит внутри интерпретатора. Другим способом преобразования текста сязыкапрограммирования в машинные коды является компиляция (трансляция). Термин трансляция появился с языком программирования фортран как результат сокращения слов формула и трансляция. По мере развития языков программирования изменялись и дополнялись способы получения объектного кода. Важным элементом современных компиляторов является оптимизация объектного кода.

В современных системах программирования существуютреализации, сочетающие в себе и функции компилятора, и функции интерпретатора. (интерпретируется). Некоторые современные языки программирования предполагают две стадии разработки: сначала исходная программа компилируется в промежуточный код, а затем этот результат компиляции выполняется с помощью интерпретатора данного промежуточного языка. Примером интерпретируемого языка может служить html (hypertext markup language) – язык описания гипертекста или языки java и javascript – сочетают в себе функции компиляции и интерпретации.

Уровни языкоа прошраммир

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

Уровни языков программирования и эволюция языков

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

Процедурные языки – самого низкого уровня. Функциональные – значительно выше.

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

.В настоящее время в мире существует несколько сотен реально используемых языков программирования.

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

По этому критерию можно выделить следующие уровни языков программирования:

  • машинные;
  • машинно-оpиентиpованные (ассемблеpы);
  • машинно-независимые (языки высокого уровня).

Машинные языки и машинно-ориентированные языки- это

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

2 уровень. Использовали ЭВМ 2-го поколения (транзисторные). Это языки второго поколения, в которых степень интеграции действий была на порядок выше. Это такие языки, как макроассемблер и автокод.

3 уровень. Языки высокого уровня или языки третьего поколения – имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека. Примером такого языка был автокод ИНЖЕНЕР (АКИ).

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

  • процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи. Процедурные языки требуют в той или иной форме явно записать процедуру ее решения;
  • логические (Пролог, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
  • объектно-ориентированные Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
  • Языки визуального программирования.Основой разработки программ с поиощью этих языков являются специальные структуры объектного типа – визуальные компоненты.

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