60 Jahre ALGOL 60
Geschrieben am 24.08.2020 von HNF
Zu Beginn der Computerära zählte ALGOL zu den wichtigsten Programmiersprachen. 1958 erstellten Forscher aus Deutschland, den USA und der Schweiz die Urfassung. Bei einem Treffen im Januar 1960 in Paris entstand ALGOL 60. In den Niederlanden schrieben Edsger Dijkstra und Jaap Zonneveld den ersten Compiler dafür. Er lief am 24. August 1960 auf einer Electrologica X1.
Im Blog behandelten wir schon die drei höheren Programmiersprachen Fortran, LISP und COBOL. Sie wurden in den USA geboren. Heute kommen wir zur vierten, der „Algorithmic Language“ ALGOL. Sie entstand ab 1955 in transatlantischer Zusammenarbeit und mit starker deutscher Beteiligung.
Die ALGOL-Entwicklung startete in Darmstadt. Dort tagte im Oktober 1955 die Gesellschaft für Angewandte Mathematik und Mechanik GAMM. Die Referate behandelten Digitalrechner und die Informationsverarbeitung. Es wurden auch Programmiersprachen diskutiert. Nach der Tagung wurde ein GAMM-Ausschuss dazu gebildet, der einen Unterausschuss gründete; er sollte eine konkrete Sprache definieren. Prominente Mitglieder waren die Münchner Computerpioniere Friedrich Bauer und Klaus Samelson und Heinz Rutishauser aus Zürich.
Im April 1958 bildete sich ein ganz ähnlicher Unterausschuss in der nordamerikanischen Computergesellschaft ACM. Je vier Abgesandte von GAMM und ACM trafen sich vom 27. Mai bis 4. Juni 1958 in Zürich. Sie entwarfen die erste Fassung der angedachten Sprache. Sie hieß „International Algebraic Language“, es fand sich aber schnell der Name ALGOL 58. Hier ist eine Beschreibung – bitte zu PDF-Seite 7 gehen. Am Jahresende erhielt die Zuse Z22 der Universität Mainz einen Compiler und konnte nunmehr ALGOL-58-Programme berechnen.
Ein Anfang war gemacht, doch die Sprache musste verbessert werden. Es folgten weitere Treffen in Amerika und Europa; ab dem Frühjahr 1959 brachte der dänische Astronom Peter Naur – später wurde er Informatiker – das ALGOL-Bulletin heraus. Vom 11. bis 16. Januar 1960 konferierten dreizehn IT-Experten in Paris; sie kamen aus Dänemark, Frankreich, England, den Niederlanden, der Schweiz, den USA und der Bundesrepublik. Das Hotel bezahlte die Firma IBM. Der wohl bekannteste Teilnehmer der Tagung war Fortran-Autor John Backus.
Das Ergebnis füllte vierzehn Seiten plus zwei Seiten Index; es lag im Frühjahr 1960 gedruckt vor. Herausgeber des Report on the Algorithmic Language ALGOL 60 war Peter Naur. Ein besonderes Kennzeichen war die Backus-Naur-Form; damit wurden Ausdrücke der Sprache definiert. Das Schema eroberte Software-Publikationen und die Informatik-Ausbildung. Ein Beispiel soll genügen – die senkrechten Striche stehen für die Oder-Verknüpfung:
< digit > ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Im Sommer 1960 fand der erste Praxistest für ALGOL 60 statt. Der benutzte Computer war die Electrologica X1 des Mathematischen Zentrums in Amsterdam; wir haben sie schon im Blog getroffen. Edsger Dijkstra und sein Kollege Jaap Zonneveld schrieben einen Compiler, eine Software, die ALGOL-Programme dem Rechner verständlich macht. Am 24. August 1960 lief sie. Die Programmierer hatten zuvor gelobt, sich erst zu rasieren, wenn der Compiler fertig wäre. Zonneveld nahm sich anschließend den Bart ab, Dijkstra behielt den seinigen.
Edsger Dijkstra wurde am 11. Mai 1930 in Rotterdam geboren. Nach seiner Gymnasialzeit studierte er in Leiden Physik. Er machte auch einen Abschluss, doch hatte er seit 1952 einen Job im Mathematischen Zentrum. 1959 promovierte er in Amsterdam mit einer Arbeit über die Software der Electrologica X1. Von 1962 bis 1984 war Dijkstra Mathematikprofessor an der Technischen Universität Eindhoven. 1972 erhielt er den Turing-Preis. Ab 1973 widmete er die meiste Zeit Forschungen im Dienst der Computerfirma Burroughs.
1984 ging Edsger Dijkstra an die Universität von Texas in Austin, wo er bis 1999 Informatik lehrte. In Austin entstand 2001 dieses Video über ihm. Er kehrte dann in seine Heimat zurück und starb am 6. August 2002 in Nuenen bei Eindhoven. Dijkstra ist der Vater der Strukturierten Programmierung und viel verwendeter Algorithmen wie dem für den Kürzesten Pfad. Er prägte auch den Begriff der Softwarekrise. Er ist sicher der bekannteste niederländische Informaticus, wie unsere Nachbarn sagen.
Zurück zu unserer Sprache. ALGOL 60 verbreitete sich auf viele Computersysteme; 1962 erschien eine revidierte und fehlerfreie Version. Die weitere Entwicklung koordinierte die übernationale Organisation IFIP. Sechs Jahre später kam ALGOL 68 heraus; die Variante wurde von vielen Experten kritisch aufgenommen. Eine riesige Dokumentensammlung zu ALGOL besitzt die Software Preservation Group in Kalifornien. Eine gedruckte Ausgabe des ALGOL-60-Compilers von Dijksta und Zonneveld erschien 2003 in Amsterdam.
Der Nachlass von Edsger Dijkstra befindet sich in der Universität von Texas. Die Entwürfe zu seinem Compiler liegen aber ganz woanders, nämlich im Time-Life Computer Archive im nordenglischen Städtchen Wigton. Hier kann man sie durchblättern. Von der Electrologica haben zwei Systeme überlebt, eins in der Technischen Universität Delft und ein zweites in dem Computermuseum der Fachhochschule Kiel. Es ist oben im Eingangsfoto abgebildet. Wir danken Gabriele Sowada herzlich für die Aufnahme.
Ein interessanter Bericht; das Video von 2001 über E. Dijkstra fand ich spannend und informativ. Ich habe in den 1970er Jahren Algol 68 an der Uni Stuttgart (Prof. Knödel) gelernt, nachdem ich während meines Studiums an der Uni Frankfurt mit Fortran IV (Prof. Stummel) gearbeitet hatte. Später gings dann zu BASIC, Pascal, LISP. Schön, dass die Entwickler der Programmiersprachen gewürdigt werden.
Ich finde einen Ausspruch von Tony Hoare zu Algol60 so herrlich: „Here is a language so far ahead of its time, that it was not only an improvement on its predecessors, but also on on nearly all its successors.“ (HINTS ON PROGRAMMING LANGUAGE DESIGN, Dec 1973, available at e.g. http://www.cs.berkeley.edu/~necula/cs263/handouts/hoarehints.pdf)
Vormerken für den Blog: Simula 67 basiert unter anderem auf Algol 60 und zeigte als erste objektorientierte Programmiersprache wie weit Europäer damals waren. Schade, dass von dieser führenden Stellung in der IT fast nichts übrig geblieben ist. Die Frage, warum das so ist, wäre auch einen Blogbeitrag wert…