Zum Hauptinhalt Zur Navigation

Cobol: 60 Jahre alt - und immer noch kein Nachwuchs in Sicht

Cobol und der Mainframe, oft für tot gehalten, bildet immer noch das Rückgrat vieler Unternehmen. Aber warum findet sich kein Nachwuchs unter Entwicklern ?
/ Uwe Graf
136 Kommentare News folgen (öffnet im neuen Fenster)
Ob die nächste Programmierergeneration noch Cobol spricht? (Bild: Pixabay)
Ob die nächste Programmierergeneration noch Cobol spricht? Bild: Pixabay

Sicher sind Cobol und viele damit geschriebene - und noch laufende - Programme älter als die meisten Leser dieses Artikels. Und auch den Mainframe, die Plattform, auf der immer noch die meisten Cobol-Programme gepflegt und entwickelt werden, gibt es entsprechend lang.

Cobol ist (wie viele andere auch) eine Programmiersprache, die für Geschäfts- und Verwaltungsanwendungen entwickelt wurde und in Maschinencode übersetzt wird. Typische Anwendungen finden sich im Banken- und Versicherungsbereich, in Buchungssystemen von Airlines, im Großhandel, und natürlich laufen fast alle Geldautomaten damit.

Einige Zahlen aus einer CEO-Umfrage (2017/2020)(öffnet im neuen Fenster) von Microfocus (Opentext), neben IBM einer der größten Anbieter von Cobol, machen das deutlich:

  • 92 Prozent der Befragten gaben an, dass sie der Meinung sind, dass die Cobol-Anwendungen ihres Unternehmens strategisch, das heißt auch in Zukunft für den Erfolg des Unternehmens entscheidend sind (84 Prozent im Jahr 2017).
  • Von 2017 bis 2020 stieg die durchschnittliche Cobol-Anwendungscodebasis von 8,4 auf 9,9 Millionen Zeilen.
  • 53 Prozent der Befragten gaben an, dass sich ihre Modernisierungsbemühungen auf neue Funktionen und die Verbesserung bestehender Prozesse konzentrieren werden.

Für mich war das Besondere an Cobol immer, dass es über viele Jahre (über 60, das müssen andere Programmiersprachen erst einmal schaffen) weiterentwickelt und an die neuesten Anforderungen angepasst wurde. Diese Weiterentwicklungen verbessern nicht nur den Maschinencode, sondern ermöglichen auch den Einsatz moderner Funktionen wie den Umgang mit XML- und JSON-Dateien.

Das zeigt sich auch daran, dass IBM 2021 einen Cobol-Compiler für Linux auf x86 veröffentlicht hat, der gerade Cobol-Anwendungen fit für die Cloud machen und die Migration geschäftskritischer Anwendungen in hybride Umgebungen erleichtern soll.

Aus diesem Grund sind mehr als 220 Milliarden Zeilen Cobol-Code immer noch die Grundlage vieler Wirtschaftsbereiche, und die Zahl wächst. Code, der sich zusammen mit Mainframe-Technologien als zuverlässig und leistungsfähig bewährt hat, ist ein wertvolles Gut für jede Organisation.

Gerade Cobol-Programme im CICS (Customer Information Control System, das Transaktionssystem auf dem Mainframe) sind ein klassisches Beispiel, da die Transaktionen einfach mit wenig Code zu programmieren und so auch einfach zu warten sind. Und viele Leute haben schon einmal, ohne es zu wissen, damit gearbeitet, denn viele Banking-Apps nutzen es im Backend. Eine Umwandlung dieses Codes wäre nicht nur teuer, sondern würde auch neue Fehlerquellen schaffen.

Nicht erst seit Kurzem ist bekannt, dass die noch aktiven Cobol-Programmierer, die sich aus Babyboomern und der Generation X rekrutieren, sich langsam sich auf ihren Ruhestand freuen und sich damit empfindliche Lücken auftun werden.

Schnell mal umstellen geht oft nicht

Jetzt könnte man auf den Gedanken kommen, dass das alles kein Problem ist und man einfach sämtliche Anwendungen schnell mal auf eine neue Plattform oder Technologie umstellt. Dass dies sehr kurzfristig gedacht ist, zeigen viele Erfahrungen (auch persönliche) mit Organisationen, die das versucht haben.

Sie haben oft gewaltige Kosten für sich selbst und ihre Kunden verursacht, denen sie eigentlich damit Vorteile verschaffen wollten. In den mittlerweile 30 Jahren, die ich mich mit dem Mainframe und Cobol befasse, musste ich leider schon mehrfach miterleben, wie Migrationen letzten Endes wieder zurückgenommen wurden beziehungsweise die ursprüngliche Zeitplanung erweitert werden musste.

Appell an Unis und Ausbilder

Sinnvoller erscheint es mir deshalb, Nachwuchs zu gewinnen und den vorhersehbaren Mangel auszugleichen. Aber auch dabei gibt es einen Haken, denn Cobol gehört schon seit vielen Jahren nicht mehr zum Ausbildungsprogramm an Universitäten und Hochschulen oder in der Berufsausbildung.

Es gibt zwar Ansätze, diese Legacy-Themen wieder aufzugreifen. Die bleiben aber oft nur eine Idee, da für geeignete Lehrkräfte oft das Gleiche gilt wie für die Programmierer und dieser Bereich der IT häufig als sterbend angesehen wird. Es gibt private Bildungseinrichtungen, aber deren Lerninhalte vermitteln teilweise wenig Neues und sind nicht unbedingt geeignet, Newbies für Cobol und den Mainframe zu begeistern.

Die Ansätze von IBM und Microfocus (Opentext) mit ihren akademischen Programmen sind in dieser Richtung vielversprechender, wobei es in Deutschland dafür nur wenige Partner gibt. Das Openmainframe-Projekt ist ebenfalls ein guter und zielführender Ansatz, auch für mich.

Ich selbst konnte, auch mit Unterstützung meines früheren Arbeitgebers, als Ausbilder für Mainframe und Cobol für angehende IT-Anwendungsentwickler tätig werden. Es hat mich gefreut, dass die Auszubildenden den Lehrstoff trotz fehlender Vorbereitung und Unterstützung seitens der Berufsschule annahmen, die Cobol schon lange zu den Akten gelegt hat. Nach ihrer Ausbildung starteten einige dieser Auszubildenden eine Karriere als Cobol-Programmierer, was ich als Erfolg ansehe.

Ganz aktuell habe ich einen weiteren vielversprechenden Ansatz kennengelernt, der oft mit Modernisierungsprojekten einhergeht. Es ist ein Transpiler, der Cobol-Code in nativen Java-Code übersetzt und es ermöglicht, Java-Code in vorhandene Cobol-Programme einzubetten.

So können sich die Programmierer gleichzeitig in Cobol einarbeiten und bestehenden Code weiterentwickeln. Der entstehende Java-Code kann auf jeder möglichen Plattform ausgeführt werden, wobei diese Plattform auch die bestehende sein kann, denn Java läuft auch auf dem Mainframe schon seit Langem.

Oft Teil geschäftskritischer Anwendungen

Die Entwicklung zeigt, dass Cobol und damit verbunden meist der Mainframe gute Chancen für einen Berufseinstieg oder Seiteneinstieg bieten. Allerdings haben viele, auch aus der Wahrnehmung heraus, dass es dort keine Entwicklung mehr gibt, diese Themen bereits lange aus dem Blick verloren. Zusätzlich kommen diese im Ausbildungsbereich günstigenfalls noch als Fußnote vor, was zu der falschen Wahrnehmung beiträgt.

Aber manchmal können Wahrnehmungen falsch sein, und das ist sicherlich der Fall, wenn es um Cobol und dessen aktuelle Bedeutung in der IT geht. Da die Technologie in der Regel für große Unternehmen gedacht ist, besteht für (angehende) Entwickler die Möglichkeit, an Systemen zu arbeiten, die sich auf viele Kunden und Benutzer auswirken.

Häufig unterstützen die Technologien geschäftskritische Anwendungen, und so ist es mehr als wahrscheinlich, dass ein Java-Entwickler, der mit seiner hippen Banking-App seinen Kontostand checkt, auf mit Cobol verwaltete Datenbestände auf einem Mainframe zugreift.

IMHO ist der Kommentar von Golem.de. IMHO = In My Humble Opinion (Meiner bescheidenen Meinung nach).

Uwe Graf arbeitet als Lead Modernization Architect an allen Arten von Modernisierungsprojekten vor allem im Mainframe-Umfeld. Dabei ist es egal, ob seine Kunden auf dem Mainframe bleiben wollen oder auf eine neue Plattform wechseln möchten. Besonderes Augenmerk legt er auf die Nachwuchsgewinnung und den Knowledge Transfer an die kommende Generation.


Relevante Themen