Back to the Roots

Prozeduren und heutiger Stand

  • Prozeduren

Zwei Arten von Unterprogrammen, SUBROUTINE ohne Typ und Rückgabe, aufzurufen mit CALL und FUNCTION mit Typ, wobei implizit der Rückgabewert zu beachten ist. Die Parameterübergabe geschieht in FORTRAN grundsätzlich per Referenz. Es wird also die Speicheradresse des Arguments übergeben. Prozeduren können nicht innerhalb anderer Prozeduren definiert werden und dürfen - auch indirekt - nicht rekursiv sein.

Entwicklung und heutiger Stand

Die weitere Entwicklung von Fortran lief in der Standardisierung über die folgenden Stufen:

  • Fortran 90

Ab dieser Version wird die Sprache offiziell als Fortran geschrieben. Lange wurde diese Version als FORTRAN 8X avisiert, und man hoffte, dass sie spätestens 1988 fertiggestellt sein würde. Dies geschah jedoch unter dem neuen Namen Fortran 90 erst 1991 als ISO- und darauf folgend 1992 als ANSI-Standard.

Die Neuerungen waren hauptsächlich die Zulassung eines schon zu Zeiten von FORTRAN 77 von vielen Compilern optional freien (nicht mehr spaltengebundenen) Eingangsformats mit gemischter Groß-Klein-Schreibung.

Relevant sind dennoch nur Großbuchstaben, intern wird alles umgewandelt, Namen mit bis zu 31 Zeichen Länge, Inline-Kommentare, SELECT...CASE-Kontrollstruktur, eingebaute Feldverarbeitung (wichtig für Geschwindigkeitsoptimierung mit Vektorprozessoren), Zulassung rekursiver Prozeduren, erstmalige Einführung von Modulen, Operatorüberladung, Zeigern, abstrakten Datentypen, dynamischer Speicherverwaltung.

Es wurden diesmal keine Sprachelemente entfernt, aber einige als obsolescent charakterisiert, d.h. zur künftigen Entfernung vorgemerkt.

  • Fortran 95

Diese milde Revision erweiterte Fortran 90 mit HPF (High Performance Fortran), deren einzelne Aufzählung hier zu weit führen würde. Auch wurden einige unerwünschte und inzwischen überflüssige Elemente endgültig entfernt. Der GNU-Compiler gfortran aus der GNU Compiler Collection (GCC), der ja für die meisten Plattformen erhältlich ist, sowie viele andere moderne Implementierungen beherrschen inzwischen den vollen Sprachumfang von Fortran 95.

In den Jahren danach wurden dem Standard noch zwei weitere, optionale Fähigkeit hinzugefügt: 1998 die bedingte Compilierung und im Jahr 2000 kamen Zeichenketten variabler Länge.

  • Fortran 2003

Größte Erweiterung um Objektorientierung, Funktionszeiger, Standardisierung der Integration in das Betriebssystem (Zugriff auf Kommandozeilenargumente und Umgebungsvariablen - also Dinge, die man in C unter Unix schon immer hatte, bessere Unterstützung von IEEE-Fließpunktarithmetik und zugehöriger Ausnahmebehandlung, und weiteres mehr.

  • Fortran 2008

Voraussichtlich der nächste, neueste Standard. Einführung des Datentyps BIT, sowie Erweiterungen für effiziente Parallelverarbeitung (Co-Array Fortran).

Fazit und Hinweise

Fortran ist nun mehr als 50 Jahre alt und immer noch lebendig, das allein ist schon erstaunlich genug! Einer der wichtigsten Gründe dafür dürfte seine von Anfang an außergewöhnliche Hochleistung bei numerisch orientierten Anwendungen sein. Allerdings musste es in vielen Bereichen moderneren und flexibleren Sprachen weichen wie C und C++, im militärischen und Raumfahrtbereich auch Ada.

In den 70ern wurde wie bei Lucas Film grafische Programmierung in FORTRAN betrieben. Spezialgebiete, in denen Fortran heute noch dominiert, wenden Supercomputer an, die sowohl mit gewaltigen geordneten Datenmengen wie in Form von Vektoren oder Matrizen, als auch hoher numerischer Verarbeitungslast zu tun haben: Diese ist bei der Wetter- und Klimasimulation und -modellierung, numerischer Strömungsmechanik, Computerphysik, -chemie und -biologie sowie der Finite-Elemente-Analyse und dergleichen der Fall.

Auch Benchmarks im Fließpunktbereich wie CFP2006 sind in Fortran geschrieben. Für Wissenschaftler und Ingenieure gibt es riesige, in Bezug auf Rundungsprobleme, numerische Stabilität und dergleichen gut ausgeteste Algorithmenbibliotheken wie von NAG (Numerical Algorithms Group Ltd., Oxford) und IMSL (International Mathematical and Statistical Library Inc., Houston).

Quellen

Eine sehr gute deutsche Einführung in FORTRAN 77 ist von Harald Wehnes: FORTRAN 77, Strukturierte Programmierung mit FORTRAN 77, Carl Hanser Verlag München Wien, 1989, 5., Überarbeitete Auflage, ISBN 3-446-15775-1Die Artikel in Wikipedia - wie üblich sind die englischen Versionen ergiebiger - sind ein guter Startpunkt für weitere Informationen.

Wer sich für FORTRAN-Folklore interessiert, sollte unbedingt den berühmten Artikel von Ed Post, Real Programmers Don't Use Pascal lesen. Im Netz finden Sie diesen unter

http://www.ee.ryerson.ca/~elf/hack/realmen.html

Einführung in Fortran 90/95

http://www.fz-juelich.de/jsc/docs/bhb/bhb_html/d0124/d0124.html

Programmieren in Fortran 90/95

https://srv.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…