Report,Rapport
Total Page:16
File Type:pdf, Size:1020Kb
J A-53163 l j '2.- '1....- Library CW/ Am sterdam e Ceotrum voor Wiskunde en lnformatica REPORT,RAPPORT I Conference on the history of ALGOL 68 ] G. Alberts (ed.) J Department of Analysis, Algebra and Geometry ] Historical Note AM-HN9301 January 1993 E> ~ Centrum voor Wiskunde en lnfor~a~~ \ REPORT RAPPORT Conference on the history of ALGOL 68 G. Alberts (ed.) CWI BIBLIOTHEEK ll ll lllllll l l~ ll llll l lllll llll 1 ~ 1 111 1 1 1 11111 1 1111 1 11 1 11 1 11111 1 Department of Analysis, Algebra and Geometry 3 0054 00113 1078 Historical Note AM·HN9301 January 1993 I; j f] i ) ! ii -·.... \ ~ r··-:. ,.:./~J~:itr·u·:i' · ',· r ·"'. 1,r.{ic:'k •1r·, ·:,-. :..1', ·,·,·1, !q r,'1iniltJ ' '<::.. •..>:J" l.. •,..,,,,., , j 1p ~ • I . • , _ \., , " 1 \,,1 I \J ·~"-... Amsf!]td a m · ~;- = ::'. ~_ _: :_ · · - CWI is the National Research Institute for Mathematics and Computer Science. CWI is part of the Stichting Mathematisch Centrum (SMC), the Dutch foundation for promotion of mathematics and computer science and their applications. SMC is sponsored by the Netherlands Organization for Scientific Research (NWO). CWI is a member of ERCIM, the European Research Consortium for Informatics and Mathematics. Copyright © Stichting Mathematisch Centrum P.O. Box 4079, 1009 AB Amsterdam (NL) Kruislaan 413, 1098 SJ Amsterdam (NL) Telephone +31 20 592 9333 Telefax +31 20 592 4199 Contents Introduction to the Conference 5 Gerard Alberts History of Programming Languages, a Survey 9 Friedrich L. Bauer The History of ALGOL 68 (Extended Abstract) 23 Charles Lindsey The Making of Algal 68 27 Gees Koster An orthogonal first programming language 41 Sietse van der M eulen Algal 68 - 25 Years in the USSR 45 Mikhail A. Bulyonkov, Alexandr F. Rar, Andrei N. Terekhov The Design of Elegant Languages 53 Lambert Meertens Aad van Wijngaarden and the Mathematisch Centrum, A personal recollection 65 John Peck Program of the Conference 73 5 Introduction to the Conference Gerard Alberts Among the many records, recordings and minutes one is missing: the very announce ment of ALGOL 68 , the occasion which gave it '68 rather than any other affix. Aad van Wijngaarden had been invited to talk on ALGOL 68 at the 1968 IFIP Congress in Edinburgh. Thus ALGOL X had unalterably become ALGOL 68. Van Wijngaarden addressed an overloaded lecture hall, expectations were high. He did raise the room ( cf. the reflections by Kees Koster in this volume and by Heinz Zemanek [7] and Wladislaw Turski [8]) . Probably, in the whole history of this programming language, there has not been a second moment of such glory. The address was never published. The quarter century that elapsed since the presentation of ALGOL 68 is worth noting. And the 4 7th anniversary of the Stichting Mathematisch Centrum is the ade quate occasion to do so. Strong Dutch influence tainted this language and, conversely, ALGOL 68 has been of great importance to t he Dutch computing community and to the Mathematical Centre (as the CWI was called at the time) in particular. The leading role of Aad van Wijngaarden, then director of the Mathematical Centre, in its design explains why to the CWI looking at the history of ALGOL 68 is tantamount to regarding part of its own past. In the Netherlands ALGOL 68 served as a point of identification, both positive and negative, and it gave direction to frontline research in computer science. Should one say that it is the Dutch among programming languages? Taking into account the relative number of computer scientists "speaking" it and adding to this the fact that its users are proud of speaking so many foreign languages, the comparison is quite convincing. Then again ALGOL 68 has these distinct qualities of rationality and elegance never attributed to Dutch - except by Simon Stevin [1]-. Moreover it was designed, one might say overloaded with design, by a committee. It has become classic without ever reach ing real widespread use. My suggestion is that it is the Sanskrit of informatics. The future computer scientist as well as the historian of computing who would know the truth about programming languages, will always return to ALGOL 68. This conference is meant to contribute to the documentation of its history. Survey What one hopes for in bringing together different perspectives on one topic in a con ference, already gleams in the papers presented here, the more so if we may take into account Charles Lindseys report to the ACM, to be published in the SIGPLAN No tices of March 1993 [10]. The combination allows for a synthesis and a first historical - - • :·---;: =- <,;. · 6 G. Alberts: Introduction to the Conference evaluation of ALGOL 68. Lindsey presents us with an extremely well-informed and technically evaluating chronicle of the timespan between settling the last details of ALGOL 60, in 1962, and the last issue of the ALGOL Bulletin in 1978. Friedrich Bauer, in his contribution, embeds this in a broad historical perspective on program ming and programming languages. Lambert Meertens continues that line of thought to the present, focusing on the zeal of designing elegant languages. By their recollections Kees Koster and John Peck add to Lindseys account, their piercing views make the dramatis personae leap from the pages. The reception of ALGOL 68 is treated for t he Netherlands by Sietse van der Meulen and for the USSR by Rar, Bulyonkov and Terekhov. The impact in the USSR has been reported from both Novosibirsk and St. Petersburg. The result is a lively, although fully inside view - except for mention of an "iron curtain" there is no reference to what was going on "in the real world" in 1968. It remains a hard task here, just as for t he whole of history of computing, to sensibly relate the developments in informatics and automation to the cultural and social events of the time. No attempt to that end is made here. Personal notes and other aids to interpretation Peck and Koster linger long enough to state in full what is implicit with Lindsey, viz. that ALGOL 68 emerged as van Wijngaardens project. He was the boss and his methods of maintaining power were not always subtle. Wirth must have suffered on occasions. Moreover the reader of the quotes presented by Van der Poel in [6] cannot fail to perceive the scientific generation- conflict which gave the design process in IFIPs Working Group 2.1 its special dynamics. In an interview, shortly before he passed away, van Wijngaarden readily admitted that he might have been too extreme and too uncompromising: "Algol 68 may show some traces of that attitude. But listen: being a mathematician, once one wants to create something, of course one would make a thing of beauty." [9] Bauer in turn, confronted with this attitude in the WG2.1 , is reported to sigh: "The words you use are so ambitious" [6]. Pervading all the contributions are two striking features. First is the fact of so many recordings and minutes, exposing a high degree of selfconsciousness. Second is the repentant undertone. "It may be true that a committee wastes hours, it keeps min utes" [6]. And minutes were kept. Van der Poels anthology from these is no exception in constantly stressing the fights and tensions in the Working Group. The reader is time and again implicitly remembered of how bad the " we" behaved. The silent ques tion is how the author and his colleagues could have treated each other so nastily - less than thirty years ago. Such question, however, is ill-posed. The proper question should be, why in retrospect the WG 2.1-rn embers involved reproach themselves and seem to deplore their behaviour. Is such behaviour not what n01mally happens in committees? Then why in their own retrospective judgement should t hey have been saints? Being reasonable, rational scientists, they expected themselves to do better. After all, they were the pioneers of modern technology and at the forefront of the search for truth in this domain. The combination of pridt and responsibility is not hard to imagine. Conference on the History of ALGOL 68 7 Points of synthesis A higher goal was cherished in WG 2.1. It was out for the truth, for the true universal programming language. The result was a twofold success: a universal programming language and the insight that no truth exists in this respect. Such result can of course only be gained once. Superposition of the perspectives offered by Bauer and Koster upon Lindseys rich material suggests that a certain development culminated in this algorithmic language. There seems to reign a touch of inner logic in the development of computer science, deciding that programming gains recognition as an autonomous subject only gradually, and that once this occurs - say from 1955 onwards - the al gorithmic perspective is the first to be developed. As Bauer puts it: ".. algorithm is more directed towards the essential content. Mathematicians therefore frequently prefer it; algorithmic languages are (or should be) programming languages under some abstractions from notational details." Now we can understand why the strive for machine-indepence, for universal language and for algorithmic approach could so well coincide; why WG 2.1 had no trouble in believing that the language had been more or less decided upon, independent of van Wijngaardens description; and finally how van Wijngaardens extremely mathematical approach could drive things to the paradoxical result that content and description became fully entangled, instead of independent. Therefore ALGOL 68 had to be both the limit and the end of the algorithmic era in informatics. The malcontents within WG 2.1, writing a minority report and creating what was to become WG 2.3 on Programming Methodology, in fact stood up for the next era; whether one calls the next episode that of programming methodology, of systems devel opment, or of software engineering is a matter of taste and viewpoint - and of further historical research -.