IBM PL/S
PL/S, short for Programming Language/Systems, is a "machine-oriented" programming language based on PL/I. It was developed by IBM in the late 1960s, under the name Basic Systems Language (BSL), as a replacement for assembly language on internal software projects; it included support for inline assembly and explicit control over register usage.
Early projects using PL/S were the batch utility, IEHMOVE, and the Time Sharing Option of MVT, TSO.
By the 1970s, IBM was rewriting its flagship operating system in PL/S. Although users frequently asked IBM to release PL/S for their use, IBM refused saying that the product was proprietary. Their concern was that open PL/S would give competitors, Amdahl, Itel (National Advanced Systems), Storage Technology Corporation, Trilogy Systems, Magnuson Computer Systems, Fujitsu, Hitachi, and other PCM vendors a competitive advantage. However, even though they refused to make available a compiler, they shipped the PL/S source code to large parts of the OS to customers, many of whom thus became familiar with reading it.
Closed PL/S meant that only IBM could easily modify and enhance the operating system.
PL/S was succeeded by PL/S II and PL/AS (Programming Language/Advanced Systems), and then PL/X (Programming Language/Cross Systems). PL/DS (Programming Language/Distributed Systems) was a closely related language used to develop the DPPX operating system, and PL/DS II was a port of the S/370 architecture for the DPPX/370 port.
As the market for computers and software shifted away from IBM mainframes and MVS, IBM recanted and has offered the current versions of PL/S to selected customers (ISVs through the Developer Partner program.)
Fujitsu "Developments"
A fully compliant PL/S compiler was "developed" by Fujitsu Ltd in the late-1970s, adapting IBM's PL/I Optimizer compiler source code as its starting point. This PL/S compiler was used internally by Fujitsu, and also by Fujitsu's external affiliates. Whether or not IBM was aware of this unlicensed use of its licensed intellectual property is not known. The phase names of this PL/S compiler were the same as the corresponding phase names of IBM's PL/I Optimizer compiler, with the initial "I" (IBM) in the phase name being replaced by an initial "J" (Japan). All IBM copyright notices within the modules were deleted to hide its true origin and ownership.
See also
References
- 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.