University of Virginia, Department of Computer Science
CS655: Programming Languages, Spring 2001

Manifest: Tuesday 27 February 2001
Assignments
Now Midterm Quiz (please start filling out)
6 March 2001 Problem Set 3
Schedule until Spring Break
Thursday, 1 March Operational Semantics
Tuesday, 6 March Projects Kick-Off, Types
Thursday, 8 March Class is Cancelled - start your break early, and think about project ideas

Readings
Topic for Thursday's class: Recommended (but probably won't be discussed further in class):

Algol 68 Minority Report

We regard the current Report on Algorithmic Language ALGOL 68 as the fruit of an effort to apply a methodology for language definition to a newly designed programming language. We regard the effort as an experiment and professional honesty compels us to state that in our considered opinion we judge the experiment to be a failure in both respects.

The failure of the description methodology is most readily demonstrated by the sheer size of the Report in which, as stated on many occasions by the authors, "every word and every symbol matters" and by the extreme difficulty of achieving correctness. The extensive new terminology and the typographical mannerisms are equally unmistakable symptoms of failure. We are aware of the tremendous amount of work that has gone into the production of the Report, but this confirms us in our opinion that adequacy is not the term that we should employ of its approach. We regard the high degree of inaccessibility of its contents as a warning that should not be ignored by dismissing the problems of "the uninitiated reader." That closer scrutiny has revealed grave deficiencies was only to be expected.

Now the language itself, which should be judges, among other things, as a language, in which to compose programs. Considered as such, a programming language implies a conception of the programmer's task. We recognize that over the last decade the processing poawer of commonly available machines has grown tremendously and that society has increased its ambition in their application in proportion to this growth. As a result the programmer of today and tomorrow, finding his task in the field of tension between available equipment and desired applications, finds himself faced with tasks of completely different and still growing scope and scale. More than ever it will be required from an adequate programming tool that it assists, by structure, the programmer in the most difficult aspects of his job, that is, in the reliable creation of sophisticated programs. In this respect we fail to see how the language proposed here is a significant step forward: on the contrary, we feel that its implicit view of the programmer's task is very much the same as, say, ten years ago. This forces upon us the conclusion that, regarded as a programming tool, the language must be regarded as obsolete.

The present minority report has been written by us because if we had not done so, we would have forsaken our professional responsibility towards the computing community. We therefore propose that this Report on the Algorithmic Language ALGOL 68 should not be published under IFIP sponsorship. If it is so published, we recommend that this "minority report" be included in the publication.

Signed by: Dijkstra, Duncan, Garwick, Hoare, Fandell, Seegmuller, Turski, Woodger.

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.

Donald E. Knuth, 1967 (explaining the real reason Algol 68 was doomed to failure one year early, although TeX seems to have done okay with a horrible name!)


CS 655 University of Virginia
Department of Computer Science
CS 655: Programming Languages
David Evans
evans@cs.virginia.edu