Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оглавление.docx
Скачиваний:
38
Добавлен:
22.02.2015
Размер:
173.51 Кб
Скачать

1.3.2. Классификации языков программирования

В настоящее время сложилось довольно много классификаций языков программирования. Далее мы приведем самые известные из них.

Классификация по поддерживаемым методологиям

Классификация языков по поддерживаемым методологиям появилась примерно в 80-х годах XX века. Мы выделили следующие основные группы языков:

  • языки императивного программирования (см. разд. 2.2.1) и две важнейшие подгруппы:

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

    • языки императивного параллельного программирования (см. разд. 2.4.1). Эти языки также обычно называют кратко - языки параллельного программирования;

  • языки объектно-ориентированного программирования (см. разд. 2.2.2);

  • языки функционального программирования (см. разд. 2.2.3);

  • языки логического программирования (см. разд. 2.2.4);

  • языки программирования в ограничениях (см. разд. 2.2.5).

Классификация по принадлежности к семействам

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

  • Семейство универсальных языков (см. разд. 4.5.1.1).

  • Семейство уникальных языков (см. разд. 4,5.1.2).

  • Семейство языков параллельного программирования (см. разд. 4.5.1.3).

  • С-семейство языков (см. разд. 4.5.1.4).

  • Pascal-семейство языков (см. разд. 4.5.1.5).

  • Ada-семейство языков (см. разд. 4.5.1.6).

  • Simula-семейство языков (см. разд. 4.5.1.7).

  • Lisp-семейство языков (см. разд. 4.5.1.8).

  • Prolog-семейство языков (см. разд. 4.5.1.9).

Классификация по ориентации на предметные области

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

  • Языки форматирования текстов (см. разд. 4.5.2.1).

  • Языки разметки (см. разд. 4.5.2.2).

  • Языки скриптов (см. разд. 4.5.2.3).

  • Промежуточные языки программирования (см. разд. 4.5.2.4).

  • Языки программирования агентов (см. разд. 4.5.2.5).

  • Языки создания графики (см. разд. 4.5.2.6).

  • Языки описания аппаратуры (см. разд. 4.5.2.7).

  • Языки описания виртуальной реальности (см. разд. 4.5.2.8).

  • Языки конфигурирования (см. разд. 4.5.2.9).

Классификация по степени абстракции от аппаратуры

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

  • Языки низкого уровня. Такие языки имеют простые машиноподобные команды и осуществляют прямой доступ к памяти. Пример - ассемблер для любой архитектуры.

  • Языки высокого уровня. Языки предоставляют возможность определять сложные структуры данных, доступ к памяти осуществляется через операции. Примерами языков этого уровня являются Pascal, С и Ada.

  • Языки сверхвысокого уровня. Команды исполняются на полностью абстрактной машине, полностью скрыт доступ к памяти. Пример таких языков - Prolog, SETL, APL, Miranda.

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

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

  • Алфавитный

  • По категориям

  • Хронологический

  • Генеалогический

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

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

Языки программирования, имеющие название в кириллице

  • Ада

  • Алгол

  • Алгол 68

  • Аналитик

  • АПЛ

  • АФС

  • Бейсик

  • Би

  • глагол

  • ДРАКОН

  • КОБОЛ

  • Компонентный Паскаль

  • КуМир

  • Лисп

  • Лого

  • Миранда

  • Модула-2

  • Модула-3

  • Оберон

  • Паскаль

  • Перл

  • ПЛ/1

  • Планкалкюль

  • Пролог

  • Робик

  • Рапира

  • РЕФАЛ

  • Сетл

  • Си

  • Симула

  • Снобол

  • Фортран

  • Фокал

  • Эйфель