ПЛ/1


ПЛ/1 (PL/I, Programming Language I — «язык программирования номер один», в русском языке произносится «пи-э́ль оди́н») — разработанный в 1964 году язык программирования, созданный для научных, инженерных и бизнес-ориентированных вычислений. Содержит настолько широкий набор синтаксических конструкций и встроенных функций, что, вероятно, не существует ни одного компилятора, поддерживающего все предусмотренные в спецификации языка возможности. Поддерживает рекурсию и структурное программирование, широко применялся в обработке данных. Настоящее международное название языка PL/I (из латинских литер, как и PL/M, PL/S) в СССР не прижилось.

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

В отличие от других языков программирования, у ПЛ/1 - свободный синтаксис: ключевые слова в зависимости от контекста могут быть идентификаторами. Это даёт возможность развивать язык, пополняя его новыми ключевыми словами, которые бы не вступали в конфликт с идентификаторами в старых программах[2]. Ключевые слова и идентификаторы нечувствительны к регистру. Язык предусматривает очень обобщённые операторы со многими вариантами синтаксиса.

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

Язык стал первым, использовавшим термин «статический» для переменных, хранящих не в стеке, а в статической памяти. Предусмотрено несколько видов динамического выделения памяти. По умолчанию (в классических версиях для мейнфреймов — всегда) используется передача параметров по ссылке.

Для управляющих конструкций заложена строго определённая семантика, например, оператор цикла определён через эквивалентные присваивания и go to и так далее.