IBM PL/S
PL/S (Programming Language/Systems) — машинно-ориентированный язык программирования, основанный на PL/I. Создан компанией IBM в конце 1960-х под именем Basic Systems Language (BSL) как замена для ассемблера во внутренних программных проектах; он включает в себя поддержку ассемблерной вставни и явный контроль над использованием регистра.
Первые проекты на PL/S: пакетная утилита IEHMOVE и Time Sharing Option
В 1970-х гг. IBM переписала свою флагманскую операционную систему на PL/S. Пользователи часто просили, чтобы IBM выпустила средства разработки, но компания отказалась это делать, поскольку продукт был её собственностью. К тому же были опасения, что другие компании получат конкурентное преимущество. Однако исходный код PL/S всё-таки был выдан части клиентов IBM.
В середине 1970-х единственный программист RAND Corporation с помощью общедоступной информации написал полнофункциональный компилятор PL/S. Но IBM была недовольна тем, что программист сделал ошибку, использовав информацию «только для внутреннего использования», и IBM угрожала предъявить судебный иск, тем самым запретив продажу продукта.
Полностью совместимый компилятор PL/S был разработан Fujitsu Ltd в конце 1970-х, используя исходный код компилятора PL/I Optimizer как основу для продукта. Этот компилятор PL/S использовался как внутри Fujitsu, так и некоторыми ее внешними филиалами. Неизвестно, знала ли IBM об этом факте использования своей интеллектуальной собственности. Название этого компилятора PL/S совпало с названием фазы компилятора PL/I Optimizer, но при этом буква «I» была заменена на «J». Все уведомления об авторском праве в пределах модулей были удалены.
Поскольку рынок компьютеров и программного обеспечения отказался от универсальных компьютеров типа IBM и MVS, IBM отказалась от своих слов и предложила текущие версии PL/S некоторым партнёрам компании, являющимися независимыми поставщиками ПО.
Литература[править]
- BSL Language Specifications, International Business Machines Corp., 1968, Z28-6642-0. Note that BSL was renamed PL/S and replaced by PL/S II
- W.R. Brittenham, «PL/S, Programming Language/Systems», Proc GUIDE Intl, GUIDE 34, May 14, 1972, pp. 540-556
- W.R. Brittenham and B.F. Melkun, «The Systems Programming Language Problem», Proceedings of the IFIP Working Conference on Machine Oriented Higher Level Languages, Trondheim, Norway, August 29-31, 1973, pp. 29-47. Amsterdam: North-Holland Publishing Co.; New York: American Elsevier, 1974. This paper explores the technical and psychological problems encountered in implementing PL/S. The language and compiler are described. The discussion that followed presentation of the paper is included.
- Gio Wiederhold and John Ehrman, «Inferred SYNTAX and SEMANTICS of PL/S», Proceedings of the SIGPLAN symposium on Languages for system implementation 1971, in SIGPLAN Notices 6(10) October 1971
- Guide to PL/S II, International Business Machines Corp., 1974. GC28-6794-0 Note that this manual is very out of date with respect to the PL/X language in use today.