Ein Hoch auf die Formelübersetzung!

Fortran, die erste höhere Programmiersprache, feiert in diesem Jahr ihren 50. Geburtstag. Mit ihr war es Programmierern zum ersten Mal möglich, Computern Anweisungen mitzuteilen, ohne eine Assemblersprache lernen zu müssen.

Der folgende Beitrag ist vor 2021 erschienen. Unsere Redaktion hat seither ein neues Leitbild und redaktionelle Standards. Weitere Informationen finden Sie hier.

Begonnen hat die Geschichte von Fortran und damit auch der höheren Programmierersprachen 1953 mit einem Vorschlag von John Backus, einem Programmierer bei IBM, der im März diesen Jahres 82jährig verstarb. Er wollte eine Möglichkeit entwickeln, wie dem IBM 704 Mainframe einfacher als mit Assemblersprache Befehle erteilt werden konnten. Nach der Zustimmung seiner Vorgesetzten wurde bei IBM bereits ein Jahr später die erste Vorabversion präsentiert, 1956 kam das erste Handbuch heraus, 1957 der erste Compiler. Da die Verantwortlichen bereits mit Skeptik in Bezug auf die Ausführgeschwindigkeit auf Seiten von Assemblerprogrammierern rechneten, war der Compiler bereits auf die Geschwindigkeit des entstehenden Maschinencodes optimiert.

Durch die deutlich vereinfachte Methode, einem Computer Anweisungen mitteilen zu können, konnte die Sprache nicht mehr nur von speziell ausgebildeten Programmierern verwendet werden, sondern auch von Wissenschaftlern und Ingenieuren selbst. Durch die Bezeichnung The IBM Mathematical Formula Translating System, abgekürzt Fortran, sollte dies ebenfalls deutlich gemacht werden. Dass die Sprache auch gerade auf diese Nutzergruppen zugeschnitten war, zeigt sich daran, dass komplexe Zahlen als eigenständiger Datentyp vorhanden waren. Diese erste Form von Fortran hatte zwar schon Schleifen, jedoch noch keine Subroutinen und Funktionen, so dass damit größtenteils Spaghetticode erzeugt werden musste, mit GOTO als wichtigem Sprachelement.

Bereits ein Jahr später, 1958, wurden Subroutinen und Funktionen mit Fortran II eingeführt, im selben Jahr wurde auch noch Fortran III entwickelt, das Assemblercode im Fortran-Code erlaubte, diese Version wurde jedoch nie offiziell veröffentlicht. Fortran IV, das 1962 erschien, führte logische Vergleiche und Boolsche Ausdrücke ein, während maschinenabhängige Teile wie Anweisungen zum Lesen von Eingabebändern aus Fortran II herausgenommen wurden.

Fortran lebt auch noch im Jahr 3000, wenn auch nur als Treibstoff für Roboter (Großzitat aus Futurama)

Standard und Entwicklung

Fortran IV wurde daraufhin zum de-facto-Standard, was die American Standards Association, mittlerweile in ANSI umbenannt, veranlasste, diese Version als Basis für eine Standardisierung der Sprache zu verwenden. Ein Jahr später wurden die Spezifikation als Fortran 66 veröffentlicht. Hinzugefügt wurde u. a. die Möglichkeit, externe Funktionen zu verwenden (z. B. aus Programmbibliotheken) und Kommentare in den Code einzufügen, allerdings noch in eigenen Zeilen.

Durch die Veröffentlichung von C im Jahr 1972 war Fortran ins Hintertreffen geraten. Deshalb wurde ein neuer Standard erarbeitet, der erst 1977 als Fortran 77 der Öffentlichkeit zugängig war. Zum ersten Mal war es in Fortran möglich, auf ein IF ein ELSE oder ELSE IF folgen zu lassen, was strukturiertes Programmieren deutlich vereinfachte. Lokale Variablen konnten ebenfalls mit SAVE gespeichert werden, ebenso konnten mit internen Funktionen Zeichenketten verglichen werden.

Danach war eine Zeitlang Pause bei den Aktualisierungen des Standards. Erst 1992 wurde Fortran 90 veröffentlicht, das viele Änderungen in der Programmierung der letzten 15 Jahre berücksichtigte: Anweisungen konnten nun auch in Kleinbuchstaben geschrieben werden, die Länge von Bezeichnern für Variablen, Subroutinen und Funktionen konnten nun bis zu 31 Zeichen lang sein, Kommentare konnten auch in Codezeilen eingefügt werden, Datentypen konnten selbst definiert und von anderen abgeleitet werden, die Verwendung externer Funktionen wurde mit Modulen vereinheitlicht und vereinfacht, Speicher konnte dynamisch zugewiesen werden.

Bereits kurz darauf wurde der Standard Fortran 95 veröffentlicht. Es waren nur kleinere Änderungen vorgenommen worden. Speziell Fließkommazahlen und Ausnahmenwurden mit dieser Version besser verarbeitet.

Die aktuelle Version Fortran 2003 aus dem Jahr 2004 enthält nun neben weiteren Verbesserungen der Verarbeitung von Fließkommazahlen und der Ein-/Ausgabe erstmals die Möglichkeit, objekt-orientiert in Fortran zu programmieren. Fortran 2008 ist gerade in der Entwicklung.

Bedeutung und Nachwirken

Auch heute noch werden viele rechenintensive Anwendungen mit Fortran realisiert, inbesondere auf Supercomputern, wie Klimamodelle, Ströhmungsdynamiken und Quantenfarbdynamik. Gerade auch Fließkomma-Benchmarks werden mit Fortran durchgeführt. Bis in die 1990er Jahre hinein musste an vielen Universitäten Studenten der Mathematik, Natur- und Ingenieurswissenschaften mit der Sprache programmieren lernen, sie wurde aber meist von C abgelöst. Gerade durch diese Allgegenwart von Fortran spaltet sich die Wissenschaftswelt heute noch in zwei Lager: Anhänger und Hasser von Fortran.

Der niederländische Computerphysiker und Autor des Buches "Strukturiertes Programmieren", Edsger Dijkstra formulierte die Bedeutung in der Physikgeschichte sehr pointiert:

In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included.