ALGOL 60 Confidential The ALGOL 60 Report,* when first encountered, seems to describe a very complex language which will be difficult to learn. The "metalinguistic formulae" admirably serve the purpose of precisely specifying a language, but they are certainly not very readable for a beginner. However, experience has shown that once the report is explained it is in fact easy to learn ALGOL and to write algorithms in it. The language is so general and powerful it can handle an enormous class of problems. It is not hard to learn those parts of ALGOL present in other compiler languages: how to write assignment and go to and for statements, etc. Indeed, a lot of the unnecessary restrictions imposed by other compiling languages have finally been lifted. But ALGOL also allows many unobvious things to be written, as we will see later, and herein lies a problem: ALGOL seems to have become too general. So many restrictions have been lifted that a lot of technical details crop up which are hard to learn and to use correctly. In this paper some of the more obscure features of the language are considered and their usefulness is discussed. Remarks are based on the authors' interpretations of the ALGOL 60 Report. CACM June, 1961 Knuth, D. E. Merner, J. N. CA610604 JB March 16, 1978 10:48 PM 249 4 321 254 4 321 272 4 321 1102 4 321 1109 4 321 1140 4 321 1188 4 321 1234 4 321 1234 4 321 1306 4 321 1464 4 321 1491 4 321 1767 4 321 1781 4 321 1787 4 321 1949 4 321 321 4 321 321 4 321 321 4 321 321 4 321 2059 4 321 2126 4 321 435 4 321 437 4 321 463 4 321 483 4 321 491 4 321 2732 4 321 560 4 321 583 4 321 3073 4 321 627 4 321 631 4 321 632 4 321 642 4 321 644 4 321 653 4 321 680 4 321 761 4 321 762 4 321 763 4 321 123 4 321 140 4 321 919 4 321 989 4 321 196 5 321 1234 5 321 254 5 321 321 5 321 321 5 321 321 5 321 400 5 321 401 5 321 402 5 321 196 6 321 944 6 321 321 6 321 321 6 321 385 6 321 387 6 321 400 6 321 402 6 321 404 6 321 3184 6 321 729 6 321