Введение

Наименование алгоритмического языка ПЛ/1 образовано из начальных букв английских слов Programming Language/One. Язык был разработан в период 1963—1966 гг. сотрудниками американской фирмы IBM и ассоциацией пользователей машин IBM. При создании языка была учтена необходимость обеспечения как можно большей простоты и удобства написания программы. За время своего существования язык претерпел большие изменения. Первые версии сильно отличались друг от друга. Однако постепенно язык стабилизировался, и новые публикации отличаются от предыдущих, как правило, лишь редакционными поправками, устранением неточностей или усовершенствованием отдельных элементов.

Язык ПЛ/1 появился после целого ряда весьма совершенных языков, и, конечно, эти языки - предшественники оказали существенное влияние на его структуру. Так, в нем сохранены от АЛГОЛа блочная структура программы (правда, слегка видоизмененная), возможность динамического распределения памяти, имеется аппарат вызова процедур (в том числе и рекурсивных), способ задания форматов аналогичен используемому в ФОРТРАНе. В то же время язык ПЛ/1 имеет много новых свойств. Это позволяет существенно расширить области его применения, например, считается, что язык удобен для моделирования, решения логических задач, исследования логических схем, решения задач в реальном масштабе времени и даже для разработки системы математического обеспечения. Особенности языка позволяют повысить эффективность выполнения рабочих программ и более рационально использовать имеющееся на машине оборудование.

Можно отметить и такие свойства этого языка, как использование разного типа данных (двоичных, десятичных, символьных, комплексных чисел, матриц и т. д. ), возможность весьма сложной организации данных (массивы, таблицы, тексты, картотеки), возможность программной реакции на прерывание, несколько способов распределения памяти, гибкое использование вспомогательных запоминающих устройств, большой набор стандартных функций и процедур. Обобщая сказанное, следует указать, что ПЛ/1 относится к проблемно - ориентированному языку высокого уровня.

В последние годы для решения экономических задач в качестве проблемно - ориентированного языка применялся КОБОЛ, а для решения научно - технических задач — АЛГОЛ-60 и ФОРТРАН. В настоящее время благодаря слиянию экономических и научно - технических задач и проникновению математики в экономику (например, методы исследования операций), целесообразно использовать универсальный язык высокого уровня ПЛ/1, который значительно облегчает описание задач любого класса, а также предоставляет возможность применения общих принципов обработки данных, как например: ввод — вывод больших объемов данных, подготовка различных отчетов, обработка произвольных строк символов и т. д.

Этот язык удовлетворяет запросам и требованиям большинства потребителей и способствует возможностям вычислительных машин третьего поколения. Он содержит основные элементы и свойства таких проблемно - ориентированных языков, как АЛГОЛ-60, ФОРТРАН и КОБОЛ. Наряду с этим он допускает некоторые операции, которые свойственны машинно - ориентированным языкам, а также позволяет работать с внутренним представлением данных.

Язык ПЛ/1 построен так, что программист легко может использовать его на уровне, соответствующем своей квалификации. Фактически сложность используемых средств языка соответствует сложности программ, для которых этот язык применяют.

Одной из основных целевых установок при разработке языка было достижение модулярности, т. е. возможности выделения различных уровней языка для различных применений и различных степеней сложности.

В возможности образовывать простые специализированные подмножества языка путем почти чисто механического выбрасывания ненужных для данных приложений свойств состоит одна из основных особенностей языка ПЛ/1. Программисту, пользующемуся языком некоторого уровня, нет надобности знать о неиспользуемых им средствах других уровней.

В языке ПЛ/1 каждому описателю переменной, каждой уточняющей конструкции и каждой спецификации придана «интерпретация (принцип) умолчания». Это означает, что всюду, где язык представляет несколько возможностей, а программист не указал никакой, транслятор применяет интерпретацию умолчания, т. е. подразумевается некоторая возможность, предусмотренная в языке на этот случай. В качестве таких подразумеваемых для каждой конструкции возможностей в языке выбраны те, которые вероятнее всего потребуются программисту.

Обычно в системах обработки данных не реализуется полный объем теоретически определенного языка программирования ПЛ/1. Реализуемый язык представляет собой подмножество полного языка.

Объем реализации языка зависит также от параметров электронно - вычислительной машины (например, от размеров основной памяти, быстродействия, метода обращения к операционной системе). В рамках дисковой операционной системы (ДОС) реализуется подмножество языка ПЛ/1, куда не включены концепции полного языка, которые не поддерживаются работой ДОС (например, асинхронная обработка, передача данных на расстояние и др.). Таким образом, рассматриваемое в книге подмножество языка ПЛ/1 соответствует его реализации в ДОС ЕС версии 2.1.