Откуда взялось подмножество G?

Статья из американского журнала «Электроника» за далекий 1980 год Мартина Маршалла, специалиста по вычислительной технике и программным средствам, отвечает на этот вопрос.

Журнал “Электроника” том 53, No.10 (588), 1980г – пер. с англ. М.: Мир, 1980, стр. 99   УДК 681.3.06
Electronics Vol.53 No.10 April 24, 1980 A McGraw-Hill Publication
М.Marshall. Slimmer PL/1 seeks popularity, pp.102,103

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

Сокращенный вариант языка ПЛ/1 ищет популярности

Язык ПЛ/1, внедряемый фирмой IBM Corp. более 10 лет как язык всех языков, принес немало хлопот программистам с тех пор, как он был полностью реализован.
«Это громадное чудовище,— говорит Брюс Рейвинал, президент фирмы Language Resources Inc. (Саннивейл, шт.Калифорния) и разработчик программных средств для 16-разрядного микропроцессора 80861{Электроника, 1980, №8, «Люди и техника»}. — Он слишком сложен, имеет слишком много вариантов и содержит самые различные ловушки».
Дэйв Клаутьер, заведующий маркетингом программных средств отделения одноплатных компьютеров фирмы Intel Corp. (Хилсборо, шт.Орегон), добавляет: «Я думаю, что этот язык не пользовался успехом даже в самой фирме IBM — отладка программ слишком затруднена».
Однако сейчас некоторые своевременные модификации сделали язык ПЛ/1 темой оживленной дискуссии среди изготовителей мини-компьютеров и даже открыли дорогу к мини-компьютерным приложениям (см. материал в разделе «Обозрение электронной техники»).

Приблизительно 10% программ, разработанных для крупных компьютеров, написаны на языке ПЛ/1, в том числе программы для крупных компьютеров фирм Control Data, Burroughs и Honeywell, а также IBM. Сторонники этого языка в качестве причин для его применения указывают предусмотренные в нем различные типы данных, средства обработки строк и мощные инструкции-примитивы. Эти достоинства побудили ряд представителей пользователей и изготовителей компьютеров попытаться усовершенствовать этот язык, сократив его до более эффективного и удобного в использовании подмножества, и при этом обеспечить возможность его применения как на крупных, так и на мини-компьютерах.

Инициативная группа, которая стала затем комиссией X3J1-PL/1 Американского национального института стандартов (ANSI), сейчас завершила свою работу и ее результат под названием «Подмножество G» — подмножество общего назначения языка ПЛ/1 должен быть в середине года опубликован как стандарт ANSI.
Благодаря этой работе сейчас многие ведущие изготовители мини-компьютеров либо уже представили, либо вскоре предполагают представить системы программирования для версии «Подмножество G». — «Трудности для программистов вызывали всего лишь около 10—20% средств языка ПЛ/1, — замечает председатель комиссии Филип Коч (Дартмутский колледж). — Мы считаем, что нам удалось идентифицировать и исключить эти части и тем самым устранить 90% трудностей» (см. врезку «Повышение эффективности использования языка ПЛ/1»).

Чистый результат этих сокращений состоит в том, что версия «Подмножество G» позволяет теперь изготовителям мини-компьютеров создавать компиляторы, которые совместимы снизу вверх с полным языком ПЛ/1, работающим на крупных компьютерах, и при этом на порядок величины уменьшает как необходимую емкость памяти, так и число возможных источников ошибок программирования: «Избавившись в значительной степени от своих недостатков, язык ПЛ/1 становится более эффективным для экономических расчетов, чем Кобол, — говорит Коч. — Например, подмножество «Подмножество G» рассчитано на работу со строками переменной длины, чего в Коболе нет. Паскаль в своей стандартной форме вообще не предусматривает обработки строк».
В комиссии было представлено большинство изготовителей мини-компьютеров, в результате чего некоторые из них уже предлагают системы программирования в варианте «Подмножество G» пользователям. Фирма Data General Corp. (Уэстборо, шт.Массачусетс) была первой среди них; для своей серии компьютеров «Эклипс» она представила компилятор «Подмножество G» размером 32 Кслов (по 16 бит на слово). Фирма Applied Information Systems Inc. (Чепел-Хилл, шт. Северная Каролина) разработала для ЭВМ PDP-11 пакет «Подмножество G», который может работать в рамках операционной системы RSX-11M, RSX-11D, IAS, RSTS/E или VAX/VMS.
В мае 1980г. она предполагает анонсировать версию на 28 Кслов, которая будет работать под управлением операционной системы RT-11; тем самым откроются возможности применения этого языка для микрокомпьютеров LSI-11. Средства рабочей библиотеки для этой версии сейчас уже функционируют, а компилятор, который, как предполагается, будет стоить менее 4 тыс. долл., появится в начале третьего квартала. Фирма DEC (Мейнард, шт.Массачусетс), согласно имеющимся сведениям, также подготавливает свой собственный пакет «Подмножество G», однако она считает, что пока еще слишком рано говорить об этой разработке.

В фирме Prime Computer Inc. (Уэлсли, шт.Массачусетс) средства программирования «Подмножество G» уже объединены в пакет «компилятор плюс библиотека» ценой 5 тыс. долл. «Существуют некоторые расширения и ограничения, но в целом наша версия почти точно соответствует подмножеству «Подмножество G», — замечает Джим Пулз, ответственный за языковые программные изделия. К числу расширений относится оператор мастичной замены; встроенные функции для ранжирования, упорядочения и подгонки, а также средства для чтения/записи файлов строк (цепочек) при вводе-выводе по программным строкам.

К расширениям относится также использование формата А без поля ширины, чтобы считывать входные строки переменной длины, и использование в именах как прописных, так и строчных букв. Реализация фирмы Prime позволяет использовать факультативный (короткий) спецификатор, чтобы управлять выделением памяти для переменных-указателей.

Поскольку реализация фирмы Prime разрабатывалась до завершения работы комиссии по стандартизации, в версии этой фирмы некоторые черты подмножества «Подмножество G» не предусмотрены. Например, не предусмотрены знаковые индексы для ключевых файлов, — средства, которые появятся в следующем месяце. Версия фирмы не позволяет также использовать оператор присвоения «массив есть скаляр» или условия типа FIXEDOVERFLOW (переполнение фиксированного), OVERFLOW (переполнение), UNDERFLOW (потеря значности), ZERODIVIDE (деление на нуль) и UNDEFINABLE (не определяется). Не разрешается также использовать оператор «прочитать установив» и вариант строки в операторе GET (получить) или PUT (послать).

Ожидается, что в скором времени ко всем этим фирмам присоединится и фирма Wang Laboratories Inc. (Тьюксбери, шт.Массачусетс). Этим летом фирма предполагает анонсировать пакет «Подмножество G» для своих компьютеров VS и VS-100. Этот пакет, цена которого пока не определена, содержит компилятор, символический отладчик, рабочую библиотеку и редактор. По словам Филиппа Флоренса, заведующего разработками новых изделий, причиной перехода на язык «Подмножество G» является то, что «он представляет собой серьезный блочно-структурированный язык с полностью определенными средствами ввода-вывода. По своим вычислительным возможностям он может также соперничать с Коболом и Фортраном».

Фирма IBM, которая начала всю эту эпопею, разработав язык ПЛ/1, также тщательно следила за судьбой подмножества «Подмножество G», в работе комиссии от нее участвовал Александр Артур, сотрудник отделения в Санта-Терезе, шт.Калифорния. Однако фирма IBM не пошла на то, чтобы строго реализовать «Подмножество G» в пакете средств программирования для своих компьютеров «Серии I». Вместо этого в конце апреля фирма выпустит версию EDX PL/1. Эта система программирования на языке ПЛ/1 с исполнительной программой, управляемой по событиям (event-driven executive), состоит из двух частей — компилятора и резидентной библиотеки (стоимостью 6180 долл.) и рабочей библиотеки (1140 долл.). Для компилирования и использования программы требуются обе эти части, а для выполнения перечисленных выше программ — только рабочая библиотека.

Больше возможностей выбора. Версия EDX PL/1 в общем характеризуется меньшим числом ограничений, чем «Подмножество G», и поэтому представляет для программиста больше возможностей выбора и больше сложностей. Например, она допускает полный диапазон неявных преобразований, в то время как версия «Подмножество G» ограничивается только некоторыми преобразованиями. Система EDX PL/1 по сравнению с подмножеством «Подмножество G» обладает такими расширениями, как возможность ввода-вывода аналоговых и цифровых данных от датчиков управления процессами, а также полный многозадачный язык. Кроме того, в «Подмножество G» не предусмотрены позиционные атрибуты, как в системе EDX PL/1. Наиболее важные части «Подмножество G», которые не включены в версию для машин «Серии 1», — это средства работы со строками (цепочками) звездочек и некоторые варианты открытых операторов. В системе EDX PL/1 будут предусматриваться только функции ввода, вывода и обновления для вариантов открытых операторов.

Наиболее известная фирма, названия которой нет в списке изготовителей мини-компьютеров, реализующих подмножество «Подмножество G» языка ПЛ/1, — это Hewlett-Packard Co. (Пало-Альто, шт.Калифорния). Фирма HP не направила своего представителя на обсуждение «Подмножество G» и в настоящее время не планирует реализовать систему программирования в варианте «Подмножество G».
«Язык ПЛ/1 просто оказался вне нашего списка приоритетов, — говорит заведующий маркетингом машин HP 3000 Роберт Бонд. — Наши пользователи показывают, что они интересуются Коболом, Бейсиком, Фортраном и Паскалем, но не собираются тратить свои усилия на ПЛ/1. Однако мы следим за сообщениями о подмножестве «Подмножество G» и каждые полгода заново пересматриваем порядок приоритета своих работ». Со своей стороны фирма HP основные усилия своих программистов сосредоточила на разработке систем на Паскале.

Повышение эффективности использования языка ПЛ/1

Комиссия по разработке подмножества «Подмножество G» исключила из полного языка ПЛ/1 следующие части:

— Половину типов скалярных данных, большинство видов комплексных данных и редко используемые виды графических данных.

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

— Операторы умолчания, ввода и размещения.

— Определяемые пользователем имена, за исключением тех, которые идентифицируются оператором объявления или префиксом метки.

— Многие неявные преобразования типов данных.

— Некоторые явно обозначенные условия и все префиксы условий.

— Управляемые классы памяти и варианты ссылок.

Форматы были ограничены значениями констант и управляемыми по данным последовательностями ввода-вывода, чтобы уменьшить объемы программных кодов и упростить компиляторы. Кроме того, оператор «DO» (выполнить) был значительно упрощен, а атрибут «defined» (определяемый) был ограничен определением простых и цепочечных оверлейных элементов.

1

Автор публикации

не в сети 1 неделя

admin

3
Комментарии: 28Публикации: 173Регистрация: 13-06-2019
Авторизация
*
*

16 − 16 =

Регистрация
*
*
*

14 − один =

Генерация пароля

два × 2 =

Перевести »
Прокрутить вверх
Scroll to Top