Алгоритмические языки. Классификация
Алгоритмический язык формальный язык, предназначенный для записи алгоритмов. Он определяется заданием алфавита (словаря исходных символов), точным описанием его синтаксиса (грамматики) и семантики.
Правила преобразования информации в различных алгоритмах могут быть самыми различными. Однако все алгоритмы могут быть составлены из сравнительно небольшого числа элементарных команд.
Все многообразие существующих в настоящее время алгоритмических языков обычно классифицируют по степени их зависимости от типа машин, от ориентации на сферу применения, по специфике организационной структуры языковых конструкциий.
По первому признаку они делятся на две большие группы: машинно-зависимые и машинно-независимые языки. Машинно-зависимые языки классифицируют на машинные и машинно-ориентированные (автокоды). Различают два уровня машинно-ориентированных языков: символического кодирования (ассемблеры) и макроязыки (макроассемблеры).
В мнемокоде цифровой код операции заменен буквенным (мнемоническим), а цифровые адреса - буквенными именами.
В макроязыках, кроме кодов мнемоязыка, используются макрокоманды, которые не имеют в машинном языке непосредственных аналогов (они включают в себя несколько команд). Сокращая длину исходной программы, макроязыки позволяют несколько повысить производительность программистов.
Программист, работающий с машинно-зависимыми языками, должен хорошо знать конструктивные особенности ЭВМ, для которой он составляет программу. Это требование значительно уменьшается при использовании машинно-независимых языков.
Программы, записанные на машинно-независимых языках, почти не зависят от типа ЭВМ. Структура этих языков ближе к структуре естественных языков, например к структуре английского языка, чем к структуре машинно-ориентированных языков. Поэтому эти языки могут применять непрофессиональные программисты.
Машинно-независимые языки в последние годы обычно разделяют на: процедурно-ориентированные (Бейсик, Паскаль, Фортран, Кобол, ПЛ/1), проблемно-ориентированные (РПГ, Лисп, АПЛ), объектно-ориентированные (ADA, JAVA, Delpi, Visual Basic,Си++).
Каждая группа языков характеризуется некоторым уровнем. Считается, что уровень языка тем выше, чем более он абстрагирован от конкретного машинного языка. Иначе, говоря, язык принадлежит к более высокому уровню, если его операторы инициируют большее число машинных команд, чем операторы другого языка.
Достарыңызбен бөлісу: |