PL/I - Programming Language I. 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. "A Structural View of PL/I", D. Beech,
Computing Surveys, 2,1 33-64 (1970). ANS X3.53-1976. 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.
list: PL1-L@UIUCVMD.BITNET
ftp://wuarchive.wustl.edu/mirrors/msdos/pli/runpli1a.arc, PL/I interpreter
version: LPI for PCs and Unix, Liant(508)626-0006
Comments, Experience, Additions
Next Language: P+