10. Januar 2009, NZZexecutive
Algol und die Schwächen internationaler Gremien
Errungenschaften der Technik
Computer verstehen nur binäre 1-0-Instruktionen. Damit ein Rechner die menschliche Logik ausführen kann, sind Programmiersprachen notwendig, welche die mathematischen oder betriebswirtschaftlichen Regeln und Abläufe in die binäre Maschinensprache übersetzen. 1958 tagte in Zürich ein Gremium der führenden Computerfachleute. Ziel war es, eine universelle, von der Bauart des Rechners unabhängige Programmiersprache für numerische Berechnungen zu formulieren.
Das Ergebnis der Arbeit des Zürcher Komitees, Algol 58 (Algorithmic Language), war auch als eine von der wissenschaftlichen Gemeinschaft getragene Alternative zum vorher vom Bürotechnologieriesen IBM lancierten Fortran gedacht. Dieses war an die Geräte des Herstellers gebunden und auf dessen Bedürfnisse ausgerichtet. Gerade die Abstützung in der Wissenschaftsgemeinde wurde für Algol aber zum Hemmschuh. Trotzdem hatte vor allem die zweite Version der Sprache Einfluss auf die Entwicklung von höheren Programmiersprachen.
Wenig Beachtung
Einen ersten Versuch einer höheren Programmiersprache hatte bereits 1948 der deutsche Computerpionier Konrad Zuse gewagt. Sein generell gehaltenes Plankalkül fand allerdings nur wenig Beachtung. 1951 formulierte schliesslich der ETH-Mathematiker Heinz Rutishauser ein grundsätzliches Prinzip, wie ein Computer eine Programmiersprache in Maschinencode übersetzen könnte. Die erste praktisch nutzbare Programmiersprache, die dieser Anforderung entsprach, war dann Fortran. Bereits im Herbst 1954 lief ein erstes, in dieser von John Backus initiierten Sprache geschriebenes Programm. Bis der notwendige Compiler – das Programm, das die automatisierte Übersetzung in die Maschinensprache vornimmt – von IBM für marktreif befunden wurde, wurde es 1957.
Algebraische Sprache?
Friedrich Bauer von der Universität Mainz war es schliesslich, der 1957 den Kontakt zwischen amerikanischen und europäischen Computerwissenschaftern herstellte. Ende Mai 1958 trafen sich so Bauer, Rutishauser und Backus an der ETH, um die Grundzüge einer strukturierten Sprache zur Behandlung algebraischer Ausdrücke festzulegen. Sie sollte sich an die gängigen mathematischen Notationen halten und ohne Erklärungen lesbar sein. Der erste Entwurf offenbarte in seiner Umsetzung aber schnell Schwächen und Lücken, so dass im Januar 1960 eine zweite Konferenz in Paris einberufen wurde.
Das Ergebnis dieses Treffens war eine Totalrevision, die in der Fachwelt Eindruck hinterliess. Niklaus Wirth, der Vater der später erfolgreichen Programmiersprache Pascal, spricht von einem Meilenstein. Viele Elemente, die auch nun Bestandteil fast jeder Programmiersprache sind, wie reservierte Schlüsselwörter oder benutzerdefinierte Datentypen, wurden erstmals verwendet. Auch Wirth setzte sein Pascal in wichtigen Teilen auf Algol 60 auf, das in jener Zeit in Europa zur am meisten verwendeten logarithmischen Programmiersprache avancierte. Nicht ganz so glücklich mit dem Pariser Ergebnis war Bauer. Ein Geist der Kleinkrämerei habe in Paris Einzug gehalten, so sein Fazit. Dieser Geist zeigte sich in einem Schwachpunkt der 1960er Definition: Die Teilnehmer interpretierten einzelne Konzepte unterschiedlich. Die universale Sprache spaltete sich so in Dialekte auf.
Zu viele Einzelinteressen
An den weiteren Versuchen, die Sprache unter der Ägide einer internationalen Standardorganisation einheitlich weiterzubringen, war auch Niklaus Wirth beteiligt. Die divergierenden Einzelinteressen liessen sich aber nicht unter einen Hut bringen. Wirth verabschiedete sich 1966 verärgert aus der Arbeitsgruppe und entwickelte mit Algol-W eine eigene, einfachere Variante. Die letzte Algol-Version, Algol 68, verkam zu einem schwerfälligen «Mischmasch, das keine Chance hatte, sich durchzusetzen», so Bauer.
Das Ende von Algol zeigt die Schwächen von internationalen Gremien bei der Formulierung komplexer Standards für neue Technologien auf. Weil viele Einzelinteressen berücksichtigt werden müssen, entstehen Spezifikationen, die in inkompatible Derivate zerfallen. So ist es kein Zufall, dass die am weitesten verbreiteten Programmiersprachen Java und C# von Herstellern wie Sun Microsystems und Microsoft entwickelt wurden.
Copyright © Neue Zürcher Zeitung AG
Alle Rechte vorbehalten. Eine Weiterverarbeitung, Wiederveröffentlichung oder dauerhafte Speicherung zu gewerblichen oder anderen Zwecken ohne vorherige ausdrückliche Erlaubnis von NZZ Online ist nicht gestattet.
Diesen Artikel finden Sie auf NZZ Online unter:
http://news.nzzexecutive.ch/nachrichten/startseite/algol_und_die_schwaechen_internationaler_gremien_1.1672807.html















Senior Entwicklungs-ingenieur
Kunststofftech.
Wenn Sie diesen Artikel kommentieren möchten, melden Sie sich bitte mit Ihrem MyNZZ-Benutzernamen an. Diese Funktion ist an Wochenenden und Feiertagen gesperrt.