Feature

Senior Programmer händeringend gesucht – für 60 Jahre alte Programmiersprache

Grace Hopper war an der Entwicklung der Programmiersprache Cobol beteiligt. (Bild: commons.wikimedia.org)

Amerikanische Ministerien, die Finanzwelt und wahrscheinlich auch deine Kreditkarte laufen auf Cobol. Aufgrund der Coronakrise sind Entwickler für die Oma unter den Programmiersprachen jetzt dringend gesucht.

Die Datenverarbeitungssysteme vieler Institutionen des US-amerikanischen Staates basieren auf Cobol, einer Programmiersprache, die seit den 80er Jahren als Legacy-Language gilt. Die Coronakrise hat jetzt dazu geführt, dass die Nachfrage nach Cobol-fähigen Entwicklern innerhalb kürzester Zeit explodierte: Die Programmiersprache spielt eine Schlüsselrolle in den Datenverarbeitungssystemen des amerikanischen Arbeitsministeriums. Auch im Finanzsektor verwendete Technologien basieren heute noch zu weiten Teilen auf dem Programmiersprachen-Urgestein.

Nix mehr verpassen: Die t3n Newsletter zu deinen Lieblingsthemen! Jetzt anmelden

Eine aussterbende Art: Der Cobol-Entwickler

Cobol gibt es schon seit 60 Jahren. Die Abkürzung steht für Common Business Oriented Language – zum Einsatz kam und kommt die Technologie vor allem in Wirtschaft und Verwaltung: Die Systeme von Banken, Versicherungen und des US-amerikanischen Äquivalents zur Agentur für Arbeit sind offenbar zu weiten Teilen immer noch in Cobol geschrieben. Die Coronakrise rückte den Dinosaurier unter den Programmiersprachen unerwartet in den Fokus der Aufmerksamkeit: Vor allem in den USA mussten sich sehr viele Menschen in sehr kurzer Zeit arbeitslos melden. Ein Ansturm, dem das auf Cobol basierende, 40 Jahre alte Datenverarbeitungssystem des amerikanischen Arbeitsministeriums nicht standhielt: Über das erste Aprilwochenende rief etwa der Gouverneur von New Jersey Freiwillige mit Cobol-Kenntnissen zur Mithilfe bei der Aufrüstung auf. Das Problem dabei: Cobol-Programmierer sind selten. Unter den wenigen Entwicklern, die die Sprache noch beherrschen, befinden sich viele bereits im Ruhestand. Wer von ihnen noch berufstätig ist, arbeitet oft in der Finanzbranche.

Entwickelt zur Programmierung kaufmännischer Anwendungen

Entwickelt wurde Cobol in den 50er Jahren von einer vom amerikanischen Verteidigungsministerium für diesen Zweck gebildeten Arbeitsgruppe – interessanterweise zu einer Zeit, in der Programmieren noch als überwiegend weibliche Domäne galt. So war auch das Entwicklerteam um die Sprache herum zu gut 50 Prozent weiblich. Entworfen wurde Cobol als hardwareunabhängige Programmiersprache, die sich vor allem für die Programmierung kaufmännischer Anwendungen eignet. Nachdem mit dem Aufkommen von Fortran die Programmierung technischer Anwendungen maßgeblich einfacher wurde, sollte  Cobol die Arbeit mit großen Datenmengen und deren Ein- und Ausgabe vereinfachen – bis dato wurden dafür meistens Assemblersprachen verwendet.

Cobol beherrscht die Finanzwelt

Cobol fand schnell den Weg in die zivile Nutzung und wurde eine der ersten kommerziell eingesetzten Programmiersprachen. Zum Einsatz kam sie vor allem in Banken, Verwaltungen und Behörden. IBM verkauft bis heute Cobol-kompatible Mainframes. Laut Reuters läuft etwa die Hälfte aller Finanzsysteme auf Cobol. Weltweit basieren etwa 80 Prozent aller kartenbasierten Transaktionen auf in Cobol geschriebenem Code. Nur: Warum gibt es dann so wenige Cobol-Entwickler? Und wie kommt es, dass die Systeme nicht mit der Zeit durch modernere Lösungen ersetzt wurden?

Noch vor der Floppy Disk

Das Fehlen der  Sprache mächtiger Programmierer ist auf eine Reihe von Gründen zurückzuführen: Zum einen wird die Sprache seit den 80er Jahren nicht mehr an Hochschulen gelehrt. Zum anderen gab es in den 1980er und 1990er Jahren keine quelloffene Version der Programmiersprache. Andere, nativ mit dem Internet kompatible Sprachen waren einfach viel attraktiver. „Über eine Zeitspanne von 20 Jahren wurde Cobol für tot gehalten. Niemand lehrte es, niemand lernte es. Cobol kam auf, bevor es überhaupt die Floppy Disk gab, geschweige denn das Internet“, wird J. Ray Scott, einer der wenigen Professoren, der Cobol noch lehrt, in einem Artikel der Medium-Publikation Onezero zitiert.

Trägheit, Geiz und Kurzsichtigkeit

Die zynische Antwort auf diese Fragen lautet: Eine Kombination aus Trägheit und Kurzsichtigkeit führte dazu, dass es weder Entwickler, noch die Möglichkeit zur Modernisierung des Legacy Codes gibt. Unternehmen und Verwaltungen waren in der Vergangenheit ganz einfach zu inkompetent und zu geizig, um für die fortlaufende Wartung ihres Cobol-Codes ein ausreichendes Budget bereitzustellen. Für nachkommende Entwicklergenerationen gab es schlicht zu wenige Anreize, sich mit Cobol zu beschäftigen. Frei nach dem Motto: „Never change a running system“ sahen Entscheider offenbar zu lange keinen Grund, in die Überarbeitung der Legacy-Codebases zu investieren.

Angesichts der damit verbundenen Kosten ist das nachvollziehbar: Für die Modernisierung ihrer Banking-Plattform im Jahr 2012 bezahlte die Commonwealth Bank of Australia 750 Millionen US-Dollar. Andere Banken entschieden sich  trotz des größer werdenden Personalengpasses dafür, bei ihren in Cobol programmierten Systemen zu bleiben.

Besser in Mathe als Java

Es gibt aber noch einen anderen Grund. So absurd es klingen mag: Cobol kann genauer rechnen als Java oder Python. In Cobol werden Berechnungen anders ausgeführt als in modernen Programmiersprachen. Das hat mit Speicherung von Dezimalzahlen zu tun. Ähnlich wie der gute alte Casio-Taschenrechner aus der Schulzeit greift Cobol dafür auf ein Fixed-Point-Design zurück, modernere Programmiersprachen speichern Dezimalzahlen mit sogenannten Floating Points. Eine Übersetzung von Cobol-Code in ein Java-Programm würde  aufgrund dieses Designunterschieds unweigerlich zu Ungenauigkeiten bei Berechnungen führen. Eine Schwachstelle, die sich weder Banken noch Verwaltungen leisten könnten. Die fundamentalen Architekturunterschiede auszugleichen, ist zwar theoretisch möglich, bringt aber andere Schwierigkeiten mit sich.

Cobol wird vermutlich bleiben

Die Antwort auf die Frage, warum Cobol immer noch die Welt am Laufen hält, ist also nicht nur eine Geschichte von verpassten Updates und fehlendem Maintenance-Budget. Die Verhaltensweisen des Programmiersprachen-Dinos ließen sich schlicht kaum in einer moderneren Sprache auf einem modernen Betriebssystem abbilden. Möglich, dass Cobol auf einem Mainframe auch noch in 20 Jahren die performantere, genauere und günstigere Lösung für die Anforderungen der globalen Finanz- und Verwaltungsinfrastruktur sein wird. Vorausgesetzt, es gibt dann noch Entwickler, die sich um die Systeme kümmern können.

In 2 Wochen zum Cobol-Programmierer

Der einzige Lichtblick dabei: Cobol ist wohl relativ einfach zu lernen. Scott, der Cobol-unterrichtende Informatikdozent, hatte seine Entwicklerkarriere bei den Pittsburgher Stahlwerken gestartet. Die Rekrutierung neuer Programmierer aus der bestehenden Arbeiterschaft war damals eine übliche Praxis. Wer den Eignungstest bestand, wurde auf einen zweiwöchigen Lehrgang bei IBM geschickt und kam anschließend in der IT-Abteilung der Werke zum Einsatz. Heutzutage zeigt sich ein ganz ähnliches Bild: Um den plötzlich so dringenden Bedarf an Cobol-Programmierern zu decken, bietet IBM kostenfreie Onlinekurse zum Erlernen der Programmiersprache an. Auch Plattformen wie Udemy und Coursera haben das Angebot an MOOC zum Lernen der 60 Jahre alten Sprache vor Kurzem erweitert. Ob das reicht, um den Entwickler-Nachwuchs für die Programmiersprache zu begeistern, bleibt abzuwarten; ganz lukrativ wäre eine Karriere als Cobol-Entwicklerin aber bestimmt.

Zum Weiterlesen: Zu wenige Entwickler? So begeistern Hochschulen in den USA Mädchen und Frauen für die IT

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

2 Kommentare
Reinhard Deinböck
Reinhard Deinböck

Hallo,
ich bin 50 Jahre alt und habe im Rahmen eines Wirtschaftsinformatik-Studiums in der Anfangszeit noch COBOL gelernt.
Wo könnte man sich denn hinwenden, wenn man Interesse an einer derartigen Aufgabe in den USA hat?

Antworten
Sven Heinemann
Sven Heinemann

Das Argument mit der Rechenart ist absoluter Blödsinn. Letztendlich werden Berechnungen vom Prozessor und nicht von der Programmiersprache durchgeführt. Zumindest von Python weiß ich, dass sowohl mit dem Standard-Modul `decimal` als auch mit NumPy Fixed-Point-Berechnungen möglich sind.

Unternehmen, die jetzt wieder lieber in alte Programmierer statt in eine Modernisierung ihrer Systeme investieren, zeigen nur, dass sie unflexibel sind und nichts aus ihren Fehlern gelernt haben.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung