Concepts of Programming Languages

(Sean Pound) #1

56 Chapter 2 Evolution of the Major Programming Languages


a member of the Zurich group. It was Naur who created and published the
ALGOL Bulletin. He spent a good deal of time studying Backus’s paper that
introduced BNF and decided that BNF should be used to describe formally
the results of the 1960 meeting. After making a few relatively minor changes to
BNF, he wrote a description of the new proposed language in BNF and handed
it out to the members of the 1960 group at the beginning of the meeting.

2.5.6 ALGOL 60 Overview


Although the 1960 meeting lasted only six days, the modifications made to
ALGOL 58 were dramatic. Among the most important new developments
were the following:


  • The concept of block structure was introduced. This allowed the program-
    mer to localize parts of programs by introducing new data environments,
    or scopes.

  • Two different means of passing parameters to subprograms were allowed:
    pass by value and pass by name.

  • Procedures were allowed to be recursive. The ALGOL 58 description was
    unclear on this issue. Note that although this recursion was new for the
    imperative languages, LISP had already provided recursive functions in
    1959.

  • Stack-dynamic arrays were allowed. A stack-dynamic array is one for which
    the subscript range or ranges are specified by variables, so that the size of
    the array is set at the time storage is allocated to the array, which happens
    when the declaration is reached during execution. Stack-dynamic arrays
    are described in detail in Chapter 6.
    Several features that might have had a dramatic impact on the success or
    failure of the language were proposed and rejected. Most important among
    these were input and output statements with formatting, which were omitted
    because they were thought to be machine-dependent.
    The ALGOL 60 report was published in May 1960 (Naur, 1960). A num-
    ber of ambiguities still remained in the language description, and a third meet-
    ing was scheduled for April 1962 in Rome to address the problems. At this
    meeting the group dealt only with problems; no additions to the language were
    allowed. The results of this meeting were published under the title “Revised
    Report on the Algorithmic Language ALGOL 60” (Backus et al., 1963).


2.5.7 Evaluation
In some ways, ALGOL 60 was a great success; in other ways, it was a dismal
failure. It succeeded in becoming, almost immediately, the only acceptable
formal means of communicating algorithms in computing literature, and it
remained that for more than 20 years. Every imperative programming language
designed since 1960 owes something to ALGOL 60. In fact, most are direct
Free download pdf