Лингвистический энциклопедический словарь

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

(алгоритмические языки) — класс искусственных языков, предназначенных для обработки информа­ции с помощью вычислительных машин. Тексты на Я. п. являются предписаниями по обработке после­до­ва­тель­но­стей символов (в частно­сти, записей чисел); все тексты можно рассма­три­вать как повелительные (предписывающие). По семантическим критериям выделяются следующие уровни организации текста Я. п.: знаки алфавита, которые не имеют само­сто­я­тель­но­го значения; имена (алфавитно-цифровые аналоги слов) — минимальные двусторонние единицы; выражения — комби­на­ции имён, имеющие неповели­тель­ное значение; операторы — синтаксические конструкции, отража­ю­щие определённое действие (т. е. повелительное значение); программы (семантически и синтакси­че­ски завершённая последовательность предписаний). Алфавит Я. п. обычно содержит латинские буквы, десятичные цифры и знаки препинания (разделители), в т. ч. различные виды скобок. Алфавит Я. п., используемых в СССР, часто дополняется русскими буквами. Среди имён выделяются константы, именующие всегда один и тот же объект, например имя «пять» именует число 5, а имя PLUS — операцию сложения, другой вид имён — переменные (идентификаторы), которые могут именовать различные объекты, например имя F может иметь значением число 5, функцию возве­де­ния числа в квадрат и т. п. Выражения в Я. п. примерно соответствуют словам или группам слов естественных языков, значение выражения опреде­ле­но, если заданы значения входящих в него имён; например, значением выражения F(X, 5)−7 является число 8, если значением F является операция умножения чисел, а значением X — число 3. Операторы Я. п. соответствуют предложениям естественного языков. Напри­мер, оператор присваи­ва­ния: A←X−3, значение кото­ро­го — ‘сделать значе­ни­ем перемен­ной A число, равное разности между значением X и числом 3’. Программы Я. п. соответствуют текстам естественных языков. Каждый оператор, входящий в программу, может при её выполнении на ЭВМ выполняться необходимое (заранее неизвестное) число раз.

Характерная черта Я. п. — неопределённость границ между уровнями символов, слов, предло­же­ний и текста. При записи текстов и их вводе в ЭВМ это выражается, в частности, в том, что статус пробела близок к статусу других символов. Например, выражение GOTO может считаться одним символом, или одним словом, или словосочетанием.

Важной особенностью Я. п. является однозначность понимания текста. Как правило, они имеют точно описанные синтаксис и семантику. При описании Я. п. и их реализации на ЭВМ широко исполь­зу­ют­ся порождающие грамматики (как правило, контекстно-свободные). Перевод текстов на Я. п. в после­до­ва­тель­ность команд, которые непосред­ствен­но выпол­ня­ют­ся ЭВМ, осуществляется при помощи специаль­ных программ-трансляторов.

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

С точки зрения области применения Я. п. подразделяются на универсальные, дающие возмож­ность задавать алгоритмические предписания разных типов, и специали­зи­ро­ван­ные, предназна­чен­ные для относительно более узких целей: моделирования (напри­мер, техно­ло­ги­че­ских процессов), автоматической обработки текста, управления какими-либо процессами и т. п. Важное место среди универсальных и специа­ли­зи­ро­ван­ных Я. п. занимают диалоговые Я. п., содержа­щие развитые средства общения ЭВМ и пользова­те­ля.

Прототипами Я. п. были формальные языки описания вычислимых функции и языки абстрактных вычислительных устройств. Первыми Я. п. для ЭВМ были языки машинных команд, возникшие одно­вре­мен­но с созданием средств вычислительной техники в начале 50‑х гг. 20 в. Развитие Я. п. шло по пути повышения их уровня, упрощения процесса общения человека и машины, повышения эффектив­но­сти программирования. К началу 70‑х гг. общее число Я. п. составляло около 1 тыс. Наиболее широко используются Я. п. высокого уровня: фортран, кобол, ПЛ/I, алгол, бейсик, паскаль. Из Я. п. так называ­е­мо­го низкого уровня распро­стра­нён язык ассемблера. При решении задач, связан­ных с есте­ствен­ны­ми языками, задач искусственного интеллекта и т. п. наиболее распро­стра­нён язык лисп и Я. п., создан­ные на его основе, а также пролог. В области школьного образования широкое распро­стра­не­ние получил язык лого.

А. Л. Семёнов.