Auf einen Blick: COBOL bleibt eine entscheidende Programmiersprache, die durch persönliche Geschichten über ihre Entwicklung und Bedeutung illustriert wird. Der Autor reflektiert über die Erfahrungen seiner Großmutter beim Programmieren in COBOL und hebt den Übergang von frühen Rechenmethoden zu modernen Anwendungen hervor.
- COBOL erhält die Funktionalität von Legacy-Programmen durch Rückwärtskompatibilität.
- Moderne Verbesserungen sichern die Relevanz von COBOL in der heutigen Technologielandschaft.
Bevor ich im Großrechner arbeitete, war meine einzige Begegnung mit COBOL, als es kurz im Geschichtsabschnitt meines ersten Computertechnikkurses erwähnt wurde. Meine Großmutter schrieb COBOL, also muss es uralt sein, oder? Ich hätte nie erwartet, dass es noch Leute gibt, das COBOL nutzt, geschweige denn, dass ich es in meiner Karriere nutzen würde. Mit derselben Technologie zu arbeiten, die meine Großmutter vor 45 Jahren gemacht hat, hat mir neuen Respekt für ihre Arbeit und die Wirkung von COBOL als Programmiersprache gegeben. Fast genauso wie ich zufällig in den Großrechner gestoßen bin, ist meine Großmutter zufällig ins Programmieren gestoßen, ohne viel darüber zu wissen. Sie studierte Englisch, wollte aber etwas anderes als Zeitungsredakteurin. Sie belegte einige Programmierkurse, weil es neu, spannend und gefragt war. Wie sie sagte: "Ich dachte, Programmieren sei einfach das Lernen einer anderen 'Sprache', in der ich gut war." Nach ihrem Abschluss machte sie ein wenig freiberufliche Programmierung und wurde dann Anfang der 1980er Jahre bei einem Versandkatalogunternehmen eingestellt (das gab es damals noch). Sie hatten Daten von Hunderttausenden Kunden auf 14"-Spulen gespeichert. Ihre Aufgabe war es, COBOL-Programme zu schreiben, die diese Kundendaten sortieren und filtern, damit sie gezielt im Marketing verwendet werden konnten. Das erscheint heute trivial, aber dieser Prozess war für die damalige Zeit tatsächlich ziemlich innovativ. Vor Computern war es einfach nicht machbar, so viele Kundendaten effizient genug zu sortieren, um überhaupt etwas Nützliches zu tun. Ihre glänzende neue IBM-Maschine® ermöglichte ihnen erstaunliche Dinge, aber seitdem sind wir einen weiten Weg zurückgelegt. Heute würden die Daten wahrscheinlich auf supereffizienten Festplatten statt auf Bandspulen gespeichert. Wenn die Daten in einer Db2-Datenbank organisiert wären, könnten Omas komplexe Sortier- und Filterprogramme wahrscheinlich mit ein paar gut gestalteten SQL-Abfragen vereinfacht werden. Es könnte auch mit Verschlüsselung und redundanten Backups für Sicherheit und Datenintegrität eingerichtet werden, alles automatisch von z/OS® verwaltet. Natürlich laufen unsere Programme auf modernen Rechnern viel schneller, aber wir können diese Programme auch schneller schreiben. Oma musste ihre Programme BUCHSTÄBLICH auf Papier schreiben. Wenn sie fertig waren, schickte sie sie an jemanden, der sie für sie eintippte (ja, sie benutzten damals Lochkarten). Sie bekam Tage später einen Stapel Karten zurück. Da die Locher manchmal Fehler machten, musste sie diesen Stapel Korrektur lesen, bevor sie überhaupt versuchte, sie zu kompilieren. Wenn ich programmiere, kompiliere ich unzählige Male am Tag, um meine Arbeit zu überprüfen und mein Programm zu verifizieren. Ich klicke einfach auf einen Knopf und bekomme die Ergebnisse in Sekunden. Tatsächlich werde ich bei statischen Code-Analysefunktionen manchmal während der Programmierung über Fehler benachrichtigt, bevor ich den Button zum Kompilieren drücke. Wenn mein Programm fertig ist, habe ich automatisierte Tests, die ich ausführen kann, um es vor dem Versand zu verifizieren. Oma musste einfach die Daumen drücken und auf das Fax "IT HAT FUNKTIONIERT!" warten. Laut ihr: "Egal wie oft du alles überprüft hast, du warst immer ein wenig nervös, wenn es rausging." Mit über 50 Jahren Updates für Benutzerfreundlichkeit, Effizienz und Skalierbarkeit ist COBOL heute nicht mehr dasselbe wie damals, als meine Großmutter programmierte. Damals unterstützte es nicht einmal grundlegende Funktionen wie Zeiger, Gleitkomma- und Binärarithmetik oder Rekursion. Heute unterstützt COBOL all das plus modernere Funktionen wie Container, Funktionsüberlastung, automatische Kompilierungszeitoptimierung und vieles mehr. COBOL verfügt über Funktionen, die mit einigen der angesagtesten und fortschrittlichsten Sprachen konkurrieren. Allerdings ist eine Funktion besonders für die Beständigkeit von COBOL verantwortlich. COBOL wurde immer mit Abwärtskompatibilität im Hinterkopf entwickelt, um sicherzustellen, dass Ihre Programme immer funktionieren. COBOL-Programme, die vor Jahrzehnten geschrieben wurden, erfüllen heute noch ihren Job. Zum Beispiel könnte die moderne Version von COBOL Grandmas alte Programme mit minimalem Refactoring kompilieren. Sie würde diese neuen Funktionen wahrscheinlich nutzen wollen (und sie würde sie definitiv von den Lochkarten kopieren wollen), aber es würde auch dann funktionieren. COBOL auf dem Großrechner funktioniert, hat seit 65 Jahren funktioniert und wird auch in Zukunft weiterarbeiten. Obwohl es noch COBOL-Code gibt, wird es Werkzeuge geben, die Entwicklung, Testen und Wartung optimieren. Ich wette, COBOL-Entwickler der Zukunft werden ausgefallene neue Tools haben, die ihre Produktivität vervielfachen, so wie es die moderne IDE für mich getan hat. Ich werde wie Oma mit ihren Lochkarten klingen, wenn ich daran denke, wie wir unsere Programme tippen mussten, anstatt dass KI deine Gedanken liest oder so. Vielleicht erfährt jemand von meiner Arbeit und inspiriert sie, so wie meine Großmutter mich inspiriert hat.
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.