printlogo
ETHistory 1855-2005 | Rückblicke | Departemente | INFK | Forschung | Weitere Seiten | algol | Algol | 
print
Fenster schliessen

Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne graphische Elemente dargestellt. Die Funktionalität der Website ist aber trotzdem gewährleistet. Wenn Sie diese Website regelmässig benutzen, empfehlen wir Ihnen, auf Ihrem Computer einen aktuellen Browser zu installieren. Weitere Informationen finden Sie auf
folgender Seite.

Important Note:
The content in this site is accessible to any browser or Internet device, however, some graphics will display correctly only in the newer versions of Netscape. To get the most out of our site we suggest you upgrade to the latest Netscape.
More information

Algol

Bibliografie

 
 

Die ersten Versuche eine algorithmische Sprache (Programmiersprache) zu entwerfen unternahm Konrad Zuse 1948. Seine Notation war recht allgemein, wurde aber trotz seiner Tragweite wenig beachtet. Drei Jahre später zeigte Heinz Rutishauser, wie ein in einer algorithmischen Sprache geschriebenes Programm prinzipiell vom Computer in Maschinensprache übersetzt werden könnte - die Idee des Compilers.

Ein Compiler übersetzt ein Programm, das in einer höheren Programmiersprache geschrieben ist, in Maschinensprache, welche vom Computer ausgeführt werden kann. Damit wurden mächtige Programmbefehle möglich, die einer Vielzahl von Maschineninstruktionen entsprachen. Erst mit der Verwendung von Compilern wurde es zudem möglich, dass Programme auf unterschiedliche Hardware portiert werden konnten. Die bis dahin untrennbare Einheit von Programm und Maschine wurde dadurch aufgelöst. Die erste höhere Programmiersprachen für wissenschaftliches Rechnen war Fortran I (Formula Translating), entwickelt von IBM und 1954 erstmals vorgestellt.
Kurz darauf fand 1955 in Darmstadt eine Konferenz über elektronische Rechenmaschinen und Informationsverarbeitung statt. In der Folge formierte sich der Fachausschuss für Programmiersprachen der "Gesellschaft für angewandte Mathematik und Mechanik" (GAMM). Deren Ziel war die Definition einer universellen algorithmischen Sprache. Als dieser Ausschuss 1957 seine Arbeit abschloss und feststellte, dass in der Zwischenzeit bereits zahlreiche andere Vorschläge vorgestellt wurden, trat die GAMM in Kontakt mit der amerikanischen "Association for Computing Machinery" (ACM), um die Tätigkeiten und Entwicklungsrichtungen abzusprechen und weltweit koordinieren zu können. 1958 fand in Zürich eine gemeinsame Konferenz statt, an der ein erster Bericht der neuen universellen Programmiersprache Algol verabschiedet wurde. Ein wichtiges Anliegen der Algol 58-Spezifikation war die Portabilität bestehender Programme auf unterschiedliche Rechnerarchitekturen. Algol entstand nicht zuletzt aus dem Willen, der Dominanz von IBM mit seinem wild wachsenden Fortran (neue Features wurden einfach mit der Entwicklung der besseren Hardware der Sprache hinzugefügt) eine saubere systematisch entwickelte Sprache entgegenzusetzen. Heinz Rutishauser, der in der ERMETH-Gruppe arbeitete, war als Mitglied der GAMM-Arbeitsgruppe direkt in die frühe Entwicklung von Algol involviert und gilt als einer der Väter von Algol.

Der Algorithmus von Jacobi dient dazu, die Eigenwerte einer symmetrischen Matrix zu berechnen. Eigenwerte sind für Ingenieure wichtig, um Schwingungsvorgänge zu studieren. Unerwünschte Schwingungen können Brücken zerstören, Flugzeuge abstürzen lassen, Maschinen zerstören etc. Heinz Rutishauser hat den Jacobi-Algorithmus meisterhaft implementiert und ein Stück Software geschrieben, dass narrensicher auf jedem Computer die richtigen Ergebnisse berechnet.

(Applet durch Walter Gander, Marco Wolf und Martin Müller, D-INFK.)

Im Mai 1960 verabschiedete das GAMM-ACM-Komitee Algol 60. In diesem Komitee sassen dreizehn Personen aus sieben verschiedenen europäischen Ländern und der USA. Die Weiterentwicklung der Sprache war zunächst als hinzufügen von einige Korrekturen zu Algol 58 geplant; es zeigte sich aber, dass eine Totalrevision mit grundlegender Neudefinition dafür nötig war. Algol 60 - insbesondere das Subset - wurde in der zweiten Hälfte der 1960er Jahre zu der in Europa am meisten verwendeten Programmiersprache. Wie Fortran wurde auch Algol für wissenschaftliches Rechnen verwendet, im Gegensatz zu Cobol (Common Business Oriented Language), die vor allem in der kommerziellen Datenverarbeitung Anwendung fand. Algol 60 umfasste viele Elemente, die heute noch Grundlage praktisch jeder Programmiersprache sind: Reservierte Schlüsselwörter für Befehle, dynamische Arrays, benutzerdefinierte Datentypen und Rekursion. Man kann Algol als das "Latein" der Programmiersprachen bezeichnen.

Der Nachfolger Algol 68 war dann, dem Namen zum Trotz, eine völlige Neuentwicklung der Programmiersprache. Für Väter von Algol 60 wie Rutishauser, aber auch für junge Wissenschaftler wie Niklaus Wirth, der der Arbeitsgruppe zur Weiterentwicklung von Algol 60 angehörte, war Algol 68 aber eine Fehlentwicklung: Die Sprache war zu schwerfällig, zu komplex und nicht mehr vernünftig kompilierbar. Als Wirths pragmatischen und vereinfachenden Vorschläge von der Gruppe zurückgewiesen wurden, ging er seinen eigenen Weg und entwickelte mit Algol-W eine einfachere Erweiterung der Sprache für nicht numerische Anwendungen. Er war zu jener Zeit Assistenzprofessor in Stanford und arbeitete im dortigen 1965 gegründeten Department of Computer Science. Algol-W wurde auf einem IBM 360-Rechner installiert und löste in der Programmierausbildung Fortran ab. Aus Algol-W heraus entwickelte Wirth später Pascal, eine stark strukturierte Sprache, die anfänglich in erster Linie für Ausbildungszwecke vorgesehen war.

print
Fenster schliessen
top
© 2005 ETH Zürich | 14.4.2005 | !!! Dieses Dokument stammt aus dem ETH Web-Archiv und wird nicht mehr gepflegt !!!