Heer de Beer

History

General

Succession: In Search of a Worthy Successor to ALGOL 60

HT de Beer
August 2006
download the whole history of the ALGOL effort as a pdf file (1.1 megabytes)

Summary

The ALGOL effort continued with a period of maintenance. A formal maintenance body was necessary to become accepted, although it did not work out very well. Although ALGOL 60 was the most used programming language for man-to-man communication, it failed to truly become the universal language due to the computational context of that time: the predominance of IBM pushing FORTRAN, the legacy of applications already created and used in industry. ALGOL was a new untested language, and, especially on the American market and outside universities, it could not win the fight with FORTRAN.

Second, the ALGOL effort was moved to IFIP, solving the lack of a governing body. It was, however, too late to gain a fundamental part of the market. As part of IFIP, Working Group 2.1 created some reports on subsets, I/O, and standardisation. These results were not very interesting, and, not important for the field of programming languages or computer science.

The move to create a successor to ALGOL 60 in 1964, however, was much more important. The ALGOL effort became a platform for the best computer scientists of that period to discuss programming languages and their underlying concepts. Many proposals were made and discussed, most of them boiling down to extra types, string handling, cleaning up the for statement, and other minor improvements. Major improvements were made by Hoare: the case expression which allowed the removal of designational expressions and part of the label concept.

More important was his paper on record handling. With records came references and with references, the controversial call-by-name parameter concept could be replaced with the call-by-reference parameter concept. Although records were not new, Hoare made them a general programming language concept.

There were other proposals, on overloading and the ability to (re)define operators. Furthermore, van Wijngaarden proposed orthogonality, one of the most important contributions to programming. In addition, the standard library became larger, containing not only mathematical functions, but also I/O, string handling, and type casts.

There was clearly a move from a special-purpose language towards a general programming language. Unfortunately, Working Group 2.1 was not able to define the new language with agreement of all members. The new language had to be defined in a new notatation, the van Wijngaarden grammar, which turned out to result in an unreadable report. After much delay, the draft was presented and accepted by the Working Group as the ALGOL 68 report, however, not without a Minority Report signed by almost half of Working Group 2.1. In this minority report it was stated that they considered the new language a failure. And so the ALGOL effort came to a sad end.