Einleitung
Hallo. Willkommen. Ich hoffe, euch geht es allen gut. Der Juni war ein großer Monat bei Exercism, mit dem Start von Premium und unserem 10-jährigen Jubiläum. Und ich hoffe, ihr hattet Spaß daran, während des Summer of Sexps mit Lisps zu spielen. Jetzt zu Monat 7 von 2023 und unserem 6. Themenmonat: Jurassic July.
Was meinen wir mit Jurassic? Nun, nicht, dass diese Sprachen ausgestorben wären, auch wenn es unwahrscheinlich ist, dass du heutzutage neue Software in COBOL schreibst. Aber das sind einige der ältesten Sprachen, manche über 60 Jahre alt. Eine unglaubliche Menge Software (vor allem Unternehmenssoftware) wurde in ihnen geschrieben. Es sind alles unglaublich erfolgreiche Sprachen.
Also, um welche Sprachen geht es? Wir schauen uns C, C++, COBOL, Fortran und Visual Basic an. C und C++ behandeln wir in diesem Video nicht, denn die haben wir schon im Mechanical March abgedeckt. Schau dir das Video an, wenn du dich für diese Sprachen interessierst. Aber COBOL, Fortran und Visual Basic schauen wir uns gleich an!
Die Badges
Hol dir das Badge, indem du diesen Monat 5 Übungen in einer dieser Sprachen abschließt. Und für das Jahres-Badge musst du Folgendes abschließen:
- Bob: mit Strings und bedingter Logik arbeiten
- Allergien: mit Strings, Zahlen und bitweisen Operationen arbeiten
- String umkehren: über die Zeichen in einem String iterieren
- Bestenliste: über Arrays von Zahlen iterieren
- Armstrong-Zahlen: mit Zahlen und Schleifen/Iteration arbeiten
Überblicke
Fortran
-
Von John Backus bei IBM in den 1950er-Jahren initiiert, um eine praktischere Alternative zur Assemblersprache für die Programmierung ihres IBM-704-Großrechners zu entwickeln
-
Dafür ausgelegt, gut beim Erstellen wissenschaftlicher und technischer Anwendungen zu sein (der Name ist die Kurzform von Formula Translating System)
-
Erste höhere Programmiersprache (reduziert die Anzahl der Codezeilen um etwa den Faktor 20)
-
Außerdem der erste optimierende Compiler (Kunden waren zurückhaltend, eine höhere Programmiersprache zu nutzen, solange ihr Compiler keinen Code erzeugen konnte, dessen Leistung an handgeschriebene Assemblersprache heranreichte)
-
Statisch und stark typisierte Sprache
-
Unterstützte zunächst nur imperative Programmierung, aber prozedurale Programmierung kam bald danach dazu. Spätere Erweiterungen fügten Unterstützung für weitere Paradigmen hinzu, wie objektorientierte Programmierung und Array-Programmierung
-
Standardisiert, zuerst 1966 mit Fortran 66, und zuletzt 2018 aktualisiert!
-
Sehr einflussreich, von Basic bis ALGOL, Inspiration für viele Sprachen. Ein Großteil der frühen Forschung zu Programmiersprachen zielte darauf ab, Fortran zu verbessern
-
Wird immer noch aktiv weiterentwickelt, mit neuen Features, und bietet weiterhin starke Garantien für Abwärtskompatibilität (alter Code lässt sich meist noch kompilieren und ausführen)
-
Eingebaute Parallelität mit Coarrays, einer sicheren und effizienten Methode, Parallelität auszudrücken. Funktionen können als pure markiert werden, was dem Compiler hilft, für paralleles Rechnen zu optimieren
-
Sichere Speicherverwaltung mit allocatable-Variablen, bei denen der Compiler für das Freigeben des Speichers verantwortlich ist.
-
Eingebaute Interoperabilität mit C
COBOL
-
1959 vom CODASYL-Konsortium entworfen (gesponsert vom Department of Defense!), um die Kosten für die Entwicklung von Geschäftsanwendungen zu senken (der Name steht für Common Business-Oriented Language)
-
Wurde 1968 ein Standard, mit der letzten Überarbeitung von 2014
-
Verschiedene Implementierungen, wie IBM COBOL, GnuCOBOL (das nach C kompiliert) und Micro Focus™ Visual COBOL, das sowohl auf der JVM als auch auf der .NET-Laufzeit läuft
-
Statisch typisierte Sprache
-
Multiparadigma, unterstützt imperative und objektorientierte Programmierung
-
Ausführliche (viele Schlüsselwörter), aber sehr gut menschenlesbare Syntax. Kommt der Lesbarkeit und Wartbarkeit zugute
-
Gute Abwärtskompatibilität durch eine stabile Spezifikation. Praxisbewährt
-
Gute Performance (wird im Finanzwesen eingesetzt)
Visual Basic
-
Von Microsoft als Nachfolger von Visual Basic entwickelt, der auf der .NET-Laufzeit läuft (das .NET-Suffix wurde nach Visual Basic 2003 fallengelassen)
-
Die erste Version erschien 2002, und 2023 wurde die Sprache als „stable“ markiert. Das bedeutet, dass keine neue Syntax zur Sprache hinzugefügt wird, aber sie weiterhin unterstützt wird
-
Teilt größtenteils die Syntax mit Visual Basic, aber einige Änderungen wurden vorgenommen
-
Statisch typisierte Sprache, die starke und schwache Typisierung unterstützt
-
Multiparadigmen-Sprache: in erster Linie objektorientiert, aber auch imperative und ereignisgesteuerte Programmierung
-
Leicht zu lernen (Visual Basic wurde so entworfen, dass es leicht zu lernen ist)
-
Hervorragende Unterstützung für objektorientierte Programmierung
-
Läuft auf der bewährten .NET-Laufzeit, mit Zugriff auf alle .NET-Bibliotheken
-
Einfaches Deployment mit ClickOnce
Anwendungsfälle
Fortran
Wird in Szenarien des Hochleistungsrechnens (Supercomputer) eingesetzt, etwa in der Wettervorhersage, Astronomie und im Bauingenieurwesen. Außerdem wird es in CAD-Software verwendet, und viele Anwendungen bauen auf FORTRAN auf, z. B. nutzen verschiedene NumPy-Module FORTRAN-77-Bibliotheken
COBOL
Wird viel im Finanzwesen eingesetzt, wo viele Finanzsysteme noch zu großen Teilen auf COBOL-Software laufen (Schätzungen zufolge werden rund 80 % der Finanztransaktionen von COBOL angetrieben), obwohl es heute meist um Wartung geht. Wird außerdem für viele Geschäftsanwendungen genutzt, sogar für einen Key-Value-Store, der bei Walmart verwendet wird.
Visual Basic
Wird für GUIs (z. B. Schnittstellen zu Datenbanken) und servergenerierte Websites eingesetzt. Zu den Unternehmen gehören Boeing, Wells Fargo und General Electric
Wie unterscheiden sie sich aus Programmierperspektive?
Fortran
Unterstützte zunächst nur imperative Programmierung, aber prozedurale Programmierung kam bald danach dazu. Spätere Erweiterungen fügten Unterstützung für weitere Paradigmen hinzu, wie objektorientierte Programmierung und Array-Programmierung
COBOL
Multiparadigma, unterstützt imperative und objektorientierte Programmierung
Visual Basic
Multiparadigmen-Sprache: in erster Linie objektorientiert, aber auch imperative und ereignisgesteuerte Programmierung
Herausragende Merkmale
Fortran
- Performance. Die Sprache Fortran und ihre Datentypen/Datenstrukturen sind auf Effizienz bzw. großartige Performance ausgelegt. Deshalb wird sie in Supercomputern eingesetzt
- Unterstützt standardmäßig viele mathematische Funktionen
- Array-Programmierung ist eine sehr elegante Möglichkeit, Operationen auf Arrays und Ausschnitte von Arrays anzuwenden, ohne manuell iterieren oder Array-Grenzen angeben zu müssen
COBOL
- Festkomma-Arithmetik hat keine Rundungsfehler, anders als Gleitkommazahlen. Das macht sie ideal fürs Finanzwesen
- Ideal zum Lesen und Schreiben von Dateien (Datensätzen)
- Eingebaute Unterstützung in COBOL für das Erzeugen von Berichten (ein weiterer Grund, warum es in Geschäftsanwendungen beliebt ist)
Visual Basic
- Hervorragend zum Erstellen von GUI-Anwendungen mit Windows Forms. WYSIWYG-Editor mit Drag-and-Drop
- Großartige IDE-Unterstützung, mit Refactorings, Codevervollständigung und vieles mehr
Was solltest du ausprobieren?
- Wenn du dich für wissenschaftliches Rechnen oder hohe Performance interessierst, ist Fortran eine hervorragende Wahl
- Wenn du ein Gefühl dafür bekommen willst, wie Geschäftsanwendungen früher gebaut wurden, ist COBOL großartig
- Wenn du daran interessiert bist, GUI-Anwendungen zu bauen, oder bereits auf der .NET-Plattform unterwegs bist, funktioniert Visual Basic richtig gut
- Wenn du dich für die Geschichte der Programmierung interessierst, sind COBOL und Fortran beides schöne Tracks zum Anschauen