H ? « »

Language peer sets for PL/I:
United States
United States/1964
Designed 1964
1960s languages
Third generation
Early Cold War
Genus IBM PL/Is
Multi-purpose
IBM PL/Is
PL/I Languages
Imperative
IBM PL/Is/1964
PL/I Languages/1964
Imperative/1964
IBM PL/Is/United States
PL/I Languages/United States
Imperative/United States
Multi-purpose
Multi-purpose/1964
Multi-purpose/us

PL/I(ID:185/pli001)

Programming Language One  

alternate simple view
Country: United States
Designed 1964
Published: 1965
Genus: IBM PL/Is
Sammet category: Multi-purpose


for Programming Language One

George Radin, 1964. Originally named NPL. An attempt to combine the best features of FORTRAN, COBOL and ALGOL 60. Result is large but elegant. One of the first languages to have a formal semantic definition, using the Vienna Definition Language.

EPL, a dialect of PL/I, was used to write almost all of the Multics OS. PL/I has no reserved words. Types are fixed, float, complex, character strings with max length, bit strings, and label variables, no user-defined types. Dynamic arrays. Summation, multi-level structures, structure assignment. Untyped pointers, side effects, aliasing. Control flow goto, do-end groups, do-to-by-while-end loops, external procedures, nested procedures and blocks. Procedures may be declared recursive, or grouped into generic families. Controlled variables. Many implementations support concurrency ('call task' and 'wait(event)' amount to fork/join) and compile-time statements. Exception handling. Blocks have localised "undo" capabilities because of the revert command


PL/I is still widely used, at IBM and elsewhere. The CFS file system used at Argonne to manage terabytes of data is written in PL/I.

Used for implementing the System/A experimental Language at Watson Labs in 1971

general-purpose, used for solving problems in a variety of fields such as commerce, science (including mathematics, physics, chemistry), engineering (civil, electrical, aeronautics), medicine, and so on. It can also be used for system programming, and the facilities are such that it is rarely, if ever, to resort to machine-language or high-level programming to solve problems. The language of MULTICS, but not (as is sometimes said) its downfall.


Structures:
Significant use:
Related languages
COBOL PL/I   Influence
FORTRAN IV PL/I   Influence
MPPL PL/I   Renaming
PL/I Algol 68 with areas   Incorporated some features of
PL/I AML   Based on
PL/I APAREL   Extension of
PL/I APG   Subset
PL/I APL-PL/I   Based on
PL/I Autopass   Extension of
PL/I Basic Systems Language   Subset
PL/I BL/I   Preprocessor for
PL/I BML   Based on
PL/I BRUIN   Subset
PL/I CIMPL   Subset
PL/I CLASP   Influence
PL/I CPL   Subset
PL/I CPS   Subset
PL/I DESPL/l   Extension of
PL/I DPL   Extension of
PL/I EMPL   Based on
PL/I EPL   Subset
PL/I ESPL/I   Subset
PL/I FOL   Extension of
PL/I GAME   Output language
PL/I GASP   Extension of
PL/I GASP-PL/I   Built on
PL/I GPL/I   Extension of
PL/I GPL/I   Extension of
PL/I GPL/I   Extension of
PL/I HEPL PL/I   Implementation
PL/I HPL   Derivation of
PL/I LINUS   Implementation
PL/I LPL   Extension of
PL/I LRL PL/I   Implementation
PL/I LSD   Extension of
PL/I LSP   Subset
PL/I MACRO   Based on
PL/I MPL   Extension of
PL/I MPL/I   Built on
PL/I MSL   Written using
PL/I NAPSS   Release written using
PL/I NEATER   Optimiser
PL/I NICOL I   Subset
PL/I OCAL   Incorporated some features of
PL/I PDEL   Preprocessor for
PL/I PL.8   Evolution of
PL/I PL/0   Implementation
PL/I PL/ACME   Subset
PL/I PL/C   Subset
PL/I PL/EXUS   Dialect of
PL/I PL/I Checkout Compiler   Augmentation of
PL/I PL/I mu   Evolution of
PL/I PL/I Subset G   Subset
PL/I PL/I-FORMAC   Extension of
PL/I PL/M   Influence
PL/I PL/MP   Subset
PL/I PL/P   Subset
PL/I PL/PROPHET   Derivation of
PL/I PL/R   Evolution of
PL/I PL-6   Influence
PL/I PLAGO   Subset
PL/I PLANS   Extension of
PL/I PLESS   Evolution of
PL/I PLIP   Augmentation of
PL/I PLITRAN   Macro language for
PL/I PLR   Dialect of
PL/I PLUM   Subset
PL/I PLUS   Dialect of
PL/I PLUTO   Dialect of
PL/I PLY   Extension of
PL/I QL/I   Extension of
PL/I REPL   Subset
PL/I REXX   Influence
PL/I RUSH   Evolution of
PL/I SABRE PL/I   Implementation of
PL/I SIMPL   Written using
PL/I SIMPLE   Compiled by
PL/I SL/I   Implementation of
PL/I SP/k   Subset
PL/I SPL   Subset
PL/I SPLINTER   Subset
PL/I SQURL   Influence
PL/I STAPL   Implementation of
PL/I TPL-40   Subset
PL/I VAULT   Written using
PL/I Vienna Definition Language   Spec written in
PL/I XPL   Subset
PL/I YES/LI   Extension of

References:
  • Sibley, R. A. (1965) Sibley, R. A. "A new programming language: PL/1" Abstract
          in [ACM] (1965) [ACM] Proceedings of the 1965 20th National Conference 1965 , Cleveland, Ohio, United States
  • Duncan, F. (1966) Duncan, F. G. review of Sibley 1965 Abstract
          in (1966) ACM Computing Reviews 7(04) July-August 1966
  • Heller, Jack and Logermann, George W. (1966) Heller, Jack and Logermann, George W. "PL/I: a programming language for humanities research" Computers and the Humanities 1(2) Nov 1966 pp19-27 Abstract
          in (1966) ACM Computing Reviews 7(04) July-August 1966
  • Rosen, Saul (1967) Rosen, Saul "Some Recent Developments" p23
          in Rosen, Saul (ed) Programming Systems & Languages. (1967) Rosen, Saul (ed) Programming Systems & Languages. McGraw Hill, New York, 1967.
  • Sammet, Jean E., (1967) Sammet, Jean E., "Roster of Programming Languages 1967"
          in (1967) Computers & Automation 16(6) June 1967
  • Bemer, Robert W. (1968) Bemer, Robert W. "The PL/I Family Tree" Extract: Introduction Extract: Definition and Maintenance Extract: Introduction
          in (1968) PL/I Bulletin, Issue 6, March 1968
  • Feldman, Jerome and Gries, David (1968) Feldman, Jerome and Gries, David "Translator writing systems" p77-113 Abstract Extract: Extendible Compilers -- Basic Concepts
          in [ACM] (1968) [ACM] CACM 11(02) (February 1968)
  • Graham, Robert M. (1969) Graham, Robert M. "Use of High Level Languages for System Programming" MIT/LCS/TM-13 1969 Extract: Operating systems as tables
          in [ACM] (1968) [ACM] CACM 11(02) (February 1968)
  • Lecht, Charles P. (1969) Lecht, Charles P. "The Programmer's PL/I" McGraw-Hill 1969
          in [ACM] (1968) [ACM] CACM 11(02) (February 1968)
  • Lucas, P. and Walk, K (1969) Lucas, P. and Walk, K "On the formal description of PL/I"
          in Halpern, Mark I and Shaw Christopher J (eds) (1969) Halpern, Mark I and Shaw Christopher J (eds) "Annual Review in Automatic Programming" (6) 1969 Pergamon Press, Oxford
  • Rosin (1969) Rosin R F "PL/1 Implementation survey" PL/I Bulletin 7 (in ACM SIGPLAN Notices Feb 1969) Extract: Introduction
          in Halpern, Mark I and Shaw Christopher J (eds) (1969) Halpern, Mark I and Shaw Christopher J (eds) "Annual Review in Automatic Programming" (6) 1969 Pergamon Press, Oxford
  • [Honeywell] (1970) [Honeywell] "THE MULTICS PL/I LANGUAGE SPECIFICATION", General Electric Company, Cambridge Information Systems Laboratory, Cambridge, Mass. 02139. pdf
          in Halpern, Mark I and Shaw Christopher J (eds) (1969) Halpern, Mark I and Shaw Christopher J (eds) "Annual Review in Automatic Programming" (6) 1969 Pergamon Press, Oxford
  • Beech, D. (1970) Beech, D. "A Structural View of PL/I", pp33-64
          in [ACM] (1970) [ACM] ACM Computing Surveys (CSUR) 2(1) January 1970
  • Harrison, Malcolm C (1970) Harrison, Malcolm C "Data-structures and programming" New York: Courant Institute of Mathematical Sciences 1970
          in [ACM] (1970) [ACM] ACM Computing Surveys (CSUR) 2(1) January 1970
  • Martin Hopkins (1971) Martin Hopkins "Problems of PL/I for system programming" Abstract Abstract
          in [LSI 1971] (1971) [ACM] SIGPLAN Notices 6(10) October 1971 Proceedings of the SIGPLAN symposium on Languages for system implementation 1971, Lafayette, Indiana, United States; October, 1971
  • Sammet, Jean E. (1971) Sammet, Jean E. "Brief survey of languages used for systems implementation" Extract: PL/I
          in [LSI 1971] (1971) [ACM] SIGPLAN Notices 6(10) October 1971 Proceedings of the SIGPLAN symposium on Languages for system implementation 1971, Lafayette, Indiana, United States; October, 1971
  • Stock (1971) Stock, Karl F. "A listing of some programming languages and their users" in RZ-Informationen. Graz: Rechenzentrum Graz 1971 193 Abstract
          in [LSI 1971] (1971) [ACM] SIGPLAN Notices 6(10) October 1971 Proceedings of the SIGPLAN symposium on Languages for system implementation 1971, Lafayette, Indiana, United States; October, 1971
  • Holt, Richard C. (1972) Holt, Richard C. "Teaching the Fatal Disease (or) Introductory Computer Programming Using PL/I" Dept. of Computer Science and Computer Systems Research Group, University of Toronto 5 November 1972 transcript at author's page
          in [LSI 1971] (1971) [ACM] SIGPLAN Notices 6(10) October 1971 Proceedings of the SIGPLAN symposium on Languages for system implementation 1971, Lafayette, Indiana, United States; October, 1971
  • Rosen, S. (1972) Rosen, S. "Programming Systems and Languages 1965-1975" Abstract DOI
          in [ACM] (1972) [ACM] CACM 15(07) (July 1972)
  • Sammet (1972) Sammet, Jean E., "Roster of Programming Languages 1972" 216
          in (1972) Computers & Automation 21(6B), 30 Aug 1972
  • Beech, David (1973) Beech, David "On the Definitional Method of Standard PL/1" 87-94 Abstract DOI
          in [POPL 1973] (1973) [ACM SIGACT-SIGPLAN] Proceedings of the ACM Symposium on Principles of Programming Languages, Boston, October 1973. Association for Computing Machinery.
  • Elson, M. (1973) Elson, M. Concept of programming languages, Science Research Associates, Palo Alto, Calif., 1973
          in [POPL 1973] (1973) [ACM SIGACT-SIGPLAN] Proceedings of the ACM Symposium on Principles of Programming Languages, Boston, October 1973. Association for Computing Machinery.
  • Holt, Richard C. (1973) Holt, Richard C. "Teaching the fatal disease: (or) introductory computer programming using PL/I" pp8-23
          in [SIGPLAN] (1973) ACM SIGPLAN Notices 8(5) May 1973
  • Sammet, Jean E. (1973) Sammet, Jean E. "Roster of Programming Languages for 1973" p147
          in (1974) ACM Computing Reviews 15(04) April 1974
  • Stock and Stock (1973) Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 467 Abstract
          in (1974) ACM Computing Reviews 15(04) April 1974
  • Leavenworth and Sammet (1974) Leavenworth, Burt M.; Sammet, Jean E. "An overview of nonprocedural languages" pp1-12 Abstract
          in [VHLL 1974] (1974) Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States
  • Cox, Brian G (1975) Cox, Brian G "PL/I Primer forBurroughs B6700" University of Otago Computing Centre 1975
          in [VHLL 1974] (1974) Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States
  • Wolman, Barry L. 'Reply to (1975) Wolman, Barry L. 'Reply to "Interactive PL/I"' pp46-48 Extract: Introduction Extract: Multics PL/I Extract: Stream Output Extract: ON CONDITIONS Extract: SUMMARY
          in [VHLL 1974] (1974) Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States
  • Gorman, W. and M. Broussard (1976) Gorman, W. and M. Broussard "Minicomputer programming languages."
          in [SIGPLAN] (1976) SIGPLAN Notices 11(04) April 1976
  • (1976) The Higher Order Language Working Group (HOLWG) Working Paper on 23 exisitng programming languages
          in [SIGPLAN] (1976) SIGPLAN Notices 11(04) April 1976
  • Wichmann, B. A. (1976) Wichmann, B. A. "Ackermann's function: a study in the efficiency of calling procedures" BIT 16 (1976), pp103-110 Abstract Extract: Introduction Extract: Ackermann's function Extract: Acknowledgements Extract: Results of tests (altered to include authors where known) Extract: Program listing Extract: Properties of the algorithm Extract: Notes on the results and Factors influencing the execution speed Extract: Conclusion
          in [SIGPLAN] (1976) SIGPLAN Notices 11(04) April 1976
  • Wortman, David B.; Khaiat, Philip J.; Laskar, Davi (1976) Wortman, David B.; Khaiat, Philip J.; Laskar, David M. "Six PL/I Compilers" pp411-422
          in (1976) Software — Practice and Experience 6(03) July-September 1976
  • Marcotty, Michael; and Sayward, Frederick G. (1977) Marcotty, Michael; and Sayward, Frederick G. "The definition mechanism for standard PL/I" IEEE Trans. Softw. Eng. SE-3, 6 (Nov. 1977), pp416-450.
          in (1976) Software — Practice and Experience 6(03) July-September 1976
  • Tharp, A. L. (1977) Tharp, A. L. "A comparison of COBOL, FORTRAN, PL/I and SPITBOL"
          in (1977) Computer Languages 2(4)
  • Tucker, Allen B., JR. (1977) Tucker, Allen B., JR. Programming languages. McGraw-Hill, Inc., New York, 1977
          in (1977) Computer Languages 2(4)
  • Lee, J.A.N. (1978) Lee, J.A.N. review of Marcotty and Sayward 1977 Abstract
          in (1978) ACM Computing Reviews 19(05) May 1978
  • Radin, G. (1978) Radin, G. "The early history and characteristics of PL/I"
          in [HOPL I] (1979) SIGPLAN Notices 14(04) April 1979 including The first ACM SIGPLAN conference on History of programming languages (HOPL) Los Angeles, CA, June 1-3, 1978
  • Sammet, Jean E (1978) Sammet, Jean E "Roster of programming languages for 1976-77" pp56-85
          in [SIGPLAN] (1978) SIGPLAN Notices 13(11) Nov 1978
  • [Fosdick] (1979) Fosdick, Howard "High-level languages for operating systems development: a historical overview" pp31-37
          in [SIGPLAN] (1979) SIGPLAN Notices 14(07) July 1979
  • Damerau, F. (1980) Damerau, F. J. review of Radin 1978 Abstract
          in (1980) ACM Computing Reviews 21(05) May 1980
  • Allen, F. E. (1981) Allen, F. E. "The history of language processor technology in IBM" pp535-548.
          in [IBM] (1981) IBM Journal of Research and Development, 25(5), September 1981 25th anniversary issue
  • Sammet, Jean E. (1981) Sammet, Jean E. "History of IBM's Technical Contributions to High Level Programming Languages" pp520ff
          in [IBM] (1981) IBM Journal of Research and Development, 25(5), September 1981 25th anniversary issue
  • Abrahams, P. (1982) Abrahams, P. W. review of Radin 1978 in ACM Computing Reviews March 1982 Abstract
          in [IBM] (1981) IBM Journal of Research and Development, 25(5), September 1981 25th anniversary issue
  • Allen, F. (1982) Allen, F. and Schwartz, J. review of Sammet and Lee HOPL conference end banquet excerpts Abstract
          in (1982) ACM Computing Reviews March 1982
  • Kerner, L.O. (1982) Kerner, L.O. review of Allen 1981 in ACM Computing Reviews September 1982 Abstract
          in (1982) ACM Computing Reviews March 1982
  • Smillie, K W. (1982) Smillie, K W. review of Sammet 1981 in ACM Computing Reviews September 1982 Abstract
          in (1982) ACM Computing Reviews March 1982
  • Steel, T. (1982) Steel, T. B. review of Wexelblat 1982 Abstract
          in (1982) ACM Computing Reviews March 1982
  • Van Deusen, M. (1982) Van Deusen, M. review of Wexelblat 1982 Abstract
          in (1982) ACM Computing Reviews March 1982
  • Vowels, R. (1997) Vowels, R. A. Introduction to PL/I, Algorithms, and Structured Programming , 3rd Ed., Sept. 1997, ISBN 0-9596384-9-0.
          in (1982) ACM Computing Reviews March 1982
  • Freiburghouse (1998) Freiburghouse, R. A. "The Multics PL/1 Compiler" History of Multics PL/1 Abstract Extract: The language Extract: Design objectives Extract: SUMMARY
          in [AFIPS] (1969) [AFIPS] Proceedings of the 1969 Fall Joint Computer Conference FJCC 35
  • Flass, Peter (2000) Flass, Peter "Languages Related to PL/I" in "The PL/I Language" Online copy at Peter Flass's PL/1 site
          in [AFIPS] (1969) [AFIPS] Proceedings of the 1969 Fall Joint Computer Conference FJCC 35
  • (2002) Library of Congress Subject Headings P25
          in [AFIPS] (1969) [AFIPS] Proceedings of the 1969 Fall Joint Computer Conference FJCC 35
    Resources
    Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder