Zum Hauptinhalt springen
GeschichteGeschichte der InformatikAnfänger

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
Illustration wissenschaftlicher Formeln, die von einem FORTRAN-Compiler übersetzt werden
Inhalt anzeigen
  1. Die versteckten Kosten der frühen Computer
  2. Ein Team, eine Sprache und ein Compiler
  3. Warum Optimierung eine Voraussetzung für die Akzeptanz war
  4. Von Dialekten zur Standardisierung
  5. Eine Sprache für Arrays
  6. FORTRAN, COBOL und die Ausweitung der Programmierung
  7. Warum Fortran noch immer wichtig ist
  8. Zeitleiste
  9. Häufig gestellte Fragen
  10. Hat John Backus FORTRAN allein entwickelt?
  11. Warum war der erste Compiler außergewöhnlich?
  12. Bezeichnen FORTRAN und Fortran dieselbe Sprache?
  13. Warum wird alter Fortran-Code noch aufbewahrt?
  14. Ist Fortran auf alte Computer beschränkt?
  15. Was ist der wichtigste Unterschied zwischen FORTRAN und COBOL?

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.

War dieser Artikel hilfreich?

Quellen und Referenzen

  1. 1.IBM --- The FORTRAN Automatic Coding System
  2. 2.John Backus et al. --- The FORTRAN Automatic Coding System
  3. 3.Computer History Museum --- John Backus
  4. 4.Fortran-lang --- Fortran history

Sammlung

Programmiersprachen

4 / 26

  1. 01Grace Hopper: von frühen Compilern zu COBOL
  2. 02John Backus: FORTRAN, BNF und die Abkehr vom Maschinencode
  3. 03Dennis Ritchie: die Sprache C im Herzen von Unix
  4. 04FORTRAN: der Beweis, dass ein Compiler mit Assembler konkurrieren kann
  5. 05Die Sprache C: Systeme portabel machen, ohne die Maschine zu verbergen
  6. 06Niklaus Wirth: von Pascal bis Oberon – Entwurf durch Einfachheit
  7. 07Bjarne Stroustrup: C++ entwerfen, ohne auf Leistung zu verzichten
  8. 08Pascal: Programmieren lernen, indem Struktur sichtbar wird
  9. 09C++: von C with Classes zum modernen C++
  10. 10Objektorientierte Programmierung: Objekte, Nachrichten und wiederverwendbare Abstraktionen
  11. 11Guido van Rossum: Python für lesbaren Code entwickeln
  12. 12Brendan Eich: JavaScript vom Netscape-Prototyp zum Webstandard
  13. 13James Gosling: der Ingenieur hinter Java
  14. 14Python: Lesbarkeit, Batteries included und ein globales Ökosystem
  15. 15Java: einmal schreiben, überall ausführen
  16. 16JavaScript: die Sprache, die das Web interaktiv machte
  17. 17Ken Thompson: von Unix bis Go, Einfachheit als Methode
  18. 18John McCarthy: Lisp und die Idee, mit Symbolen zu programmieren
  19. 19Alan Kay: Smalltalk und der Computer als persönliches Medium
  20. 20Barbara Liskov: Abstraktion als Grundlage modularer Software
  21. 21Robin Milner: ML, rechnergestützte Beweise und Sprachen der Interaktion
  22. 22Brian Kernighan: AWK, Unix und die Kunst, Code zu erklären
  23. 23Anders Hejlsberg: von Turbo Pascal zu C# und TypeScript
  24. 24Larry Wall: Perl, die Sprache, die die Werkzeuge des Internets verband
  25. 25Yukihiro Matsumoto: Ruby und das Glück der Programmierenden
  26. 26Rasmus Lerdorf: PHP und die Demokratisierung des dynamischen Webs
BiografieGeschichte der InformatikAnfänger

Grace Hopper: von frühen Compilern zu COBOL

Wie Grace Hopper dazu beitrug, Programmierung verständlicher zu machen, indem lesbarere Anweisungen in Maschinencode übersetzt wurden.

3. August 20265 min