Concepts of Programming Languages

(Sean Pound) #1

2.8.2 Design Process


The design effort began when IBM and SHARE formed the Advanced Lan-
guage Development Committee of the SHARE Fortran Project in October


  1. This new committee quickly met and formed a subcommittee called the
    3 × 3 Committee, so named because it had three members from IBM and three
    from SHARE. The 3 × 3 Committee met for three or four days every other
    week to design the language.
    As with the Short Range Committee for COBOL, the initial design was
    scheduled for completion in a remarkably short time. Apparently, regardless
    of the scope of a language design effort, in the early 1960s the prevailing belief
    was that it could be done in three months. The first version of PL/I, which
    was then named Fortran VI, was supposed to be completed by December, less
    than three months after the committee was formed. The committee pleaded
    successfully on two different occasions for extensions, moving the due date back
    to January and then to late February 1964.
    The initial design concept was that the new language would be an exten-
    sion of Fortran IV, maintaining compatibility, but that goal was dropped
    quickly along with the name Fortran VI. Until 1965, the language was known
    as NPL (New Programming Language). The first published report on NPL
    was given at the SHARE meeting in March 1964. A more complete descrip-
    tion followed in April, and the version that would actually be implemented
    was published in December 1964 (IBM, 1964) by the compiler group at the
    IBM Hursley Laboratory in England, which was chosen to do the imple-
    mentation. In 1965, the name was changed to PL/I to avoid the confusion
    of the name NPL with the National Physical Laboratory in England. If the
    compiler had been developed outside the United Kingdom, the name might
    have remained NPL.


2.8.3 Language Overview


Perhaps the best single-sentence description of PL/I is that it included what
were then considered the best parts of ALGOL 60 (recursion and block struc-
ture), Fortran IV (separate compilation with communication through global
data), and COBOL 60 (data structures, input/output, and report-generating
facilities), along with an extensive collection of new constructs, all somehow
cobbled together. Because PL/I is no longer a popular language, we will not
attempt, even briefly, to discuss all the features of the language, or even its
most controversial constructs. Instead, we will mention some of the lan-
guage’s contributions to the pool of knowledge of programming languages.
PL/I was the first programming language to have the following facilities:


  • Programs were allowed to create concurrently executing subprograms.
    Although this was a good idea, it was poorly developed in PL/I.

  • It was possible to detect and handle 23 different types of exceptions, or
    run-time errors.


2.8 Everything for Everybody: PL/I 69
Free download pdf