FORTRAN: der Beweis, dass ein Compiler mit Assembler konkurrieren kann
Wie das Team um John Backus FORTRAN entwickelte, Wissenschaftler von einer Hochsprache überzeugte und ein dauerhaftes Erbe des numerischen Rechnens begründete.
Veröffentlicht 3. August 2026Lesezeit : 6 minVon Yann Bastien
Anfang der 1950er Jahre programmierten die meisten Wissenschaftler in Maschinencode oder Assembler. Eine mathematische Formel musste in computerspezifische Anweisungen zerlegt werden, wobei Register und Adressen ausdrücklich verwaltet wurden. Sobald ein Programm fertig war, lief die Berechnung schnell, doch die Vorbereitung konnte Wochen dauern.
Das von John Backus geleitete IBM-Team schlug einen Bruch mit dieser Praxis vor: Formeln sollten in einer der Mathematik näheren Schreibweise formuliert und anschließend von einem Programm übersetzt werden. FORTRAN, kurz für Formula Translation, war jedoch nur deshalb erfolgreich, weil sein Compiler Code erzeugte, der effizient genug war, um mit Assembler-Spezialisten zu konkurrieren.
Die versteckten Kosten der frühen Computer
Maschinenzeit war teuer, aber die Zeit der Programmierer ebenfalls. Je schneller Computer wurden, desto größer wurde der Anteil der Programmvorbereitung an den Gesamtkosten einer Berechnung.
Backus arbeitete zunächst an Speedcoding für den IBM 701. Das System bot praktische Operationen, darunter Gleitkommaarithmetik, interpretierte die Anweisungen jedoch und verlangsamte ihre Ausführung deutlich. Es zeigte den Nutzen einer zugänglicheren Notation und bestätigte zugleich, dass Wissenschaftler keinen erheblichen Leistungsverlust akzeptieren würden.
1953 schlug Backus ein Übersetzungssystem für den IBM 704 vor. Diese Maschine verfügte über hardwaregestützte Gleitkommaarithmetik und Indexregister, doch ihre effiziente Nutzung erforderte eine komplexe Organisation des Codes.
Ein Team, eine Sprache und ein Compiler
IBM stellte ein Team mit sich ergänzenden Fähigkeiten zusammen. Harlan Herrick, Irving Ziller, Peter Sheridan, Roy Nutt, Robert Nelson, Lois Haibt und weitere Beteiligte arbeiteten an Syntax, Analyse, Optimierung und Tests.
Die Sprache bot arithmetische Ausdrücke, Schleifen und Verzweigungen für numerische Berechnungen. Ihre frühe Form trug noch deutliche Spuren der Hardware und der Lochkarten: reservierte Spalten, numerische Marken und die Anweisung GO TO.
Die entscheidende Innovation lag im Compiler. Er analysierte Abhängigkeiten zwischen Berechnungen, organisierte die Nutzung der Register und versuchte, wiederholte Operationen zu reduzieren. Ziel war nicht nur ein korrektes Programm, sondern ein Programm, dessen Geschwindigkeit keinen Anlass bot, zu Assembler zurückzukehren.
Der 1957 ausgelieferte Compiler übertraf die Erwartungen vieler Anwender. Die Programmierzeit sank erheblich, und FORTRAN verbreitete sich zusammen mit den IBM-Computern.
Warum Optimierung eine Voraussetzung für die Akzeptanz war
Eine Hochsprache schafft Abstand zwischen dem, was ein Programmierer schreibt, und dem, was der Prozessor ausführt. Heute erscheint diese Übersetzung selbstverständlich. 1957 war es ein Wagnis, einem Programm Optimierungsentscheidungen zu überlassen.
FORTRAN zeigte, dass ein Compiler einen Teil der mechanischen Arbeit besser und gleichmäßiger als ein Mensch erledigen konnte, insbesondere bei großen Programmen. Dieser Erfolg veränderte die Ökonomie der Software: Der Computer diente nicht mehr nur zur Ausführung der endgültigen Berechnung, sondern half auch dabei, das Programm selbst herzustellen.
Die höhere Produktivität beseitigte nicht die Notwendigkeit, numerische Methoden zu verstehen. Eine instabile Formel oder ein falsches Modell bleibt falsch, unabhängig von der Qualität des Compilers. FORTRAN trennte den wissenschaftlichen Ausdruck besser von den Details des Prozessors; Fachwissen ersetzte es nicht.
Von Dialekten zur Standardisierung
Der Erfolg führte rasch zu mehreren Versionen. FORTRAN II ermöglichte unter anderem die getrennte Übersetzung von Unterprogrammen. FORTRAN IV vereinheitlichte die Sprache und verbreitete sich stark, während Hersteller zugleich eigene Erweiterungen anboten.
Diese Fragmentierung bedrohte das Versprechen der Portabilität. 1966 erschien ein amerikanischer Standard; spätere Revisionen strukturierten die weitere Entwicklung. FORTRAN 77 verallgemeinerte zahlreiche etablierte Praktiken. Fortran 90 führte freie Quelltextformatierung, ausdrucksstärkere Arrays, Module und Werkzeuge für strukturierte Programmierung ein.
Die offizielle Schreibweise änderte sich im Zuge dieser Modernisierung von FORTRAN zu Fortran, ohne dass dadurch eine neue Sprache entstand. Spätere Versionen ergänzten objektorientierte Programmierung, Nebenläufigkeit und eine bessere Interoperabilität mit C.
Kompatibilität blieb ein wichtiges Ziel. Wissenschaftliche Modelle, die über Jahrzehnte validiert wurden, verkörpern Wissen, dessen Rekonstruktion teuer ist. Sie schrittweise weiterzuentwickeln ist häufig sicherer als eine vollständige Neuschreibung.
Eine Sprache für Arrays
Wissenschaftliches Rechnen arbeitet häufig mit Vektoren, Matrizen und Gittern. Fortran kann Operationen direkt auf ganzen Arrays ausdrücken und liefert dem Compiler dadurch Informationen, die für Vektorisierung oder Parallelisierung nützlich sind.
Auch bestimmte Alias-Analysen werden durch sein Modell erleichtert: Der Compiler kann häufiger feststellen, ob zwei Namen auf denselben Speicherbereich verweisen. Mit diesem Wissen kann er Operationen umordnen, ohne das Ergebnis zu verändern.
Diese Eigenschaften erklären, warum Fortran in Klimasimulationen, Strömungsmechanik, Physik und anderen Bereichen des Hochleistungsrechnens wettbewerbsfähig bleibt. Seine Langlebigkeit beruht daher nicht nur auf altem Code, sondern auch auf einer kontinuierlich gepflegten Spezialisierung.
FORTRAN, COBOL und die Ausweitung der Programmierung
FORTRAN und die Arbeiten von Grace Hopper reagierten auf dasselbe Hindernis: Maschinencode begrenzte die Zahl der Menschen, die ein Problem in ein Programm verwandeln konnten.
Ihre ursprünglichen Einsatzgebiete unterschieden sich. FORTRAN stellte Formeln und numerische Leistung in den Mittelpunkt. FLOW-MATIC und später COBOL konzentrierten sich auf Dateien, Datensätze und die Sprache von Organisationen. Gemeinsam zeigten diese Projekte, dass eine Programmiersprache auf eine Problemklasse statt auf eine bestimmte Maschine zugeschnitten werden kann.
ALGOL, Lisp, Pascal und C führten diese Trennung von Absicht und Hardware mit anderen Prioritäten fort: Beschreibung von Algorithmen, symbolisches Rechnen, strukturierte Lehre oder Systemprogrammierung.
Warum Fortran noch immer wichtig ist
Fortran zeigt, dass eine Sprache ihre Vergangenheit nicht verwerfen muss, um modern zu bleiben. Sie kann bewährte Programme erhalten und zugleich Abstraktionen, Standards und Werkzeuge für neue Maschinen hinzufügen.
Sein weitreichendster historischer Beitrag besteht darin, optimierende Compiler glaubwürdig gemacht zu haben. Entwickler verwenden heute wesentlich abstraktere Sprachen, weil Compiler gelernt haben, ihre Absichten in effizienten Code zu übersetzen. FORTRAN lieferte einen der ersten entscheidenden Beweise dafür, dass dies möglich ist.
Zeitleiste
1953: John Backus schlägt bei IBM ein System zur Übersetzung von Formeln vor.
1954: Das FORTRAN-Team für den IBM 704 wird zusammengestellt.
1957: Der erste FORTRAN-Compiler wird ausgeliefert.
1958: FORTRAN II erleichtert die Nutzung getrennt kompilierter Unterprogramme.
1962: FORTRAN IV vereinheitlicht die Sprache.
1966: Der erste amerikanische Standard wird veröffentlicht.
1978: FORTRAN 77 wird standardisiert.
1991: Fortran 90 erscheint und die modernisierte Schreibweise wird übernommen.
2003: Fortran 2003 ergänzt unter anderem objektorientierte Mechanismen.
Heute: Fortran wird weiterhin im wissenschaftlichen und im Hochleistungsrechnen eingesetzt.
Häufig gestellte Fragen
Hat John Backus FORTRAN allein entwickelt?
Nein. Er schlug das Projekt vor und leitete ein IBM-Team aus zahlreichen Spezialisten. Die Sprache und insbesondere ihr Compiler waren Gemeinschaftsleistungen.
Warum war der erste Compiler außergewöhnlich?
Er musste so gut optimieren, dass er Wissenschaftler überzeugte, die gewohnt waren, jede Anweisung selbst zu kontrollieren. Seine Techniken begründeten die Glaubwürdigkeit von Hochsprachen für leistungsintensive Berechnungen.
Bezeichnen FORTRAN und Fortran dieselbe Sprache?
Ja. Fortran wurde mit den modernen Versionen zur offiziellen Schreibweise. Sie kennzeichnet eine bedeutende Weiterentwicklung, ohne die historische Linie zu unterbrechen.
Warum wird alter Fortran-Code noch aufbewahrt?
Er enthält häufig numerische Modelle, die über Jahrzehnte getestet und validiert wurden. Eine Neuschreibung kann schwer erkennbare wissenschaftliche Fehler einführen.
Ist Fortran auf alte Computer beschränkt?
Nein. Moderne Compiler zielen auf aktuelle Prozessoren und Supercomputer. Die Sprache verfügt heute über Module, ausdrucksstarke Arrays, objektorientierte Programmierung und Werkzeuge für Nebenläufigkeit.
Was ist der wichtigste Unterschied zwischen FORTRAN und COBOL?
FORTRAN wurde ursprünglich für wissenschaftliche Berechnungen entwickelt, COBOL für die Verarbeitung geschäftlicher Daten. Beide sollten Programme weniger abhängig vom Maschinencode machen.