Was ist COBOL und warum verlassen sich so viele Institutionen darauf?

Der Gouverneur von New Jersey kürzlich erwähntes COBOL, eine 60 Jahre alte Programmiersprache. Was genau ist es? Und warum ist es immer noch der Dreh- und Angelpunkt der Finanzwelt, obwohl nur wenige Menschen damit umgehen können?

Die Ursprünge von COBOL

Grace Hopper war ein Phänomen. Sie promovierte in Mathematik in Yale, war Professorin in Vassar und verließ die US Navy im Rang eines Konteradmirals. Ihre Beiträge zur Informatik lassen sich an der Zahl der Stiftungen und Programme ablesen wurde in ihrer Erinnerung erschaffen. Der Nationales wissenschaftliches Rechenzentrum für Energieforschung namens es Cray XE6 Supercomputer nach ihr. Die Navy benannte auch ihren Lenkwaffenzerstörer, die USS Hopper, nach ihr. Das Motto des Schiffes, „Aude et Effice“ („Wagen und tun“) könnte durchaus mit Hopper in Verbindung gebracht worden sein.

Mit dem Antrieb, eine Programmiersprache zu entwickeln, die dem Englischen näher kommt, als die Maschinencode-Computer verstehen, entwickelte Hopper den ersten Compiler. Dies öffnete die Tür für die ersten kompilierten Sprachen, wie z FLOW-MATIC. Dies brachte ihr einen Sitz in der Conference/Committee on Data Systems Languages ​​ein (CODASYL) von 1959.

Sie war auch maßgeblich an der Spezifikation und Entwicklung der Gemeinsame geschäftsorientierte Sprache (COBOL). Die erste Sitzung fand am 23. Juni 1959 statt, und ihr Bericht und Spezifikation der COBOL-Sprache folgte im April 1960.

COBOL war radikal

COBOL enthielt einige bahnbrechende Konzepte. Die wohl bedeutendste davon war die zu dieser Zeit beispiellose Fähigkeit, auf Hardware verschiedener Hersteller zu laufen.

Die Sprache war ausgefeilt und bot Programmierern ein fast englisches Vokabular, mit dem sie arbeiten konnten. Es wurde entwickelt, um riesige Datenmengen zu verarbeiten und außergewöhnlich mathematisch genau zu sein.

Sein Vokabular an reservierten Wörtern (die Wörter, aus denen die Sprache besteht) umfasst fast 400. Ein Programmierer reiht diese reservierten Wörter aneinander, damit sie syntaktisch Sinn machen und ein Programm erstellen.

Jeder Programmierer, der mit anderen Sprachen vertraut ist, wird Ihnen sagen, dass 400 unglaublich viele reservierte Wörter sind. Zum Vergleich die C Sprache hat 32, und Python hat 33.

  TN vs. IPS vs. VA: Was ist die beste Display-Panel-Technologie?

Eine weitere Eigenart von COBOL ist die strikte Anforderung, dass bestimmte Programmzeilen in bestimmten Spalten beginnen. Das ist ein Kater aus den Tagen von Lochkarten. Programmierer haben heute mehr Freiheit bei der Formatierung von COBOL und müssen nicht mehr alles in Großbuchstaben eingeben. Dies macht die Arbeit damit weniger vorgeschrieben und schreiend, aber es ist immer noch eine Schöpfung seiner Zeit, wie unten gezeigt:

IDENTIFICATION DIVISION.
      PROGRAM-ID. Hello-World.
      DATA DIVISION.
      FILE SECTION.
      WORKING-STORAGE SECTION.
      PROCEDURE DIVISION.
      MAIN-PROCEDURE.
           DISPLAY "Hello world, from 1techpc.de!"
           STOP RUN.
      END PROGRAM Hello-World.

COBOL ist ein HIT

Die meisten Geldautomatentransaktionen verwenden immer noch COBOL.

So klobig es heute erscheinen mag, COBOL war bei seiner Einführung revolutionär. Es fand Anklang beim Finanzsektor, der Bundesregierung und großen Unternehmen und Organisationen. Dies lag an der Skalierbarkeit, den Stapelverarbeitungsfunktionen und der mathematischen Präzision. Es wurde in Großrechnern auf der ganzen Welt installiert, schlug Wurzeln und florierte. Wie ein hartnäckiges Unkraut stirbt es einfach nicht ab.

Unsere Abhängigkeit von Systemen, die noch auf COBOL laufen, ist erstaunlich. EIN Bericht von Reuters im Jahr 2017 teilte die folgenden atemberaubenden Statistiken:

Noch heute werden 220 Milliarden Zeilen COBOL-Code verwendet.
COBOL ist die Grundlage von 43 Prozent aller Bankensysteme.
Systeme, die von COBOL betrieben werden, verarbeiten 3 Billionen US-Dollar des täglichen Handels.
COBOL wickelt 95 Prozent aller Kartendurchzüge von Geldautomaten ab.
COBOL macht 80 Prozent aller persönlichen Kreditkartentransaktionen möglich.

Wie Sie sehen, ist es schwierig, einen Tag ohne ein COBOL-abhängiges System zu überstehen. Bankkonten und Scheck-Clearing-Dienste sowie öffentlich zugängliche Infrastrukturen wie Geldautomaten und Ampeln laufen immer noch mit diesem vor Jahrzehnten geschriebenen Code.

COBOL ist ein Problem

Die Programmierer, die COBOL kennen, sind entweder im Ruhestand und denken darüber nach, in Rente zu gehen, oder sie sind tot. Wir verlieren ständig die Leute, die die Fähigkeiten haben, diese lebenswichtigen Systeme am Laufen zu halten. Neue, jüngere Programmierer kennen COBOL nicht. Die meisten wollen auch nicht auf Systemen arbeiten, für die Sie alten Code pflegen oder neuen Code schreiben müssen.

  Karma Train ist ein iPhone Reddit-Client mit einer einzigartigen kartenbasierten Benutzeroberfläche

Dies ist ein solches Problem, dass Bill Hinshaw, ein COBOL-Veteran, aus dem Ruhestand gezwungen wurde, zu gründen COBOL-Cowboys. Diese private Beratungsfirma richtet sich an verzweifelte Firmenkunden, die nirgendwo COBOL-erfahrene Programmierer finden. Die „Youngsters“ bei COBOL Cowboys (das Motto lautet „Not Our First Rodeo“) sind über 50. Sie glauben, dass 90 Prozent der Fortune-500-Geschäftssysteme auf COBOL laufen.

Natürlich müssen nicht nur Privatunternehmen, Konzerne und Banken riesige Mengen an Finanzdaten verarbeiten. Bundes-, Provinz- und Kommunalverwaltungsdienste haben die gleichen Anforderungen. Wie alle anderen verwenden sie dafür Mainframes und COBOL.

Die schrecklichen Auswirkungen der Coronavirus-Pandemie haben zu Herzschmerz, Todesfällen und wirtschaftlicher Unsicherheit für Unternehmer, Angestellte und Selbständige geführt. Die große Zahl beurlaubter und entlassener Mitarbeiter in New Jersey führte Gouverneur appelliert an erfahrene COBOL-Programmierer um den alternden Back-End-Systemen des Staates zu helfen. Diese sind anstrengend, um mit den 326.000 Neuregistrierungen.

Der Mainframe-Projekt öffnen führt eine ehrenamtliche Initiative durch, um zu helfen. Wenn Sie denken, dass Sie helfen können, würden sie sich freuen, von Ihnen zu hören.

New Jersey ist in dieser misslichen Lage nicht allein. Über 10 Millionen Menschen haben sich arbeitslos gemeldet, Tendenz steigend. Connecticut hat Mühe, eine Viertelmillion Neuanmeldungen zu verarbeiten auf den 40 Jahre alten Systemen des Staates.

Dies ist ein weit verbreitetes und tief verwurzeltes Problem. EIN Bericht 2016 des Government Accountability Office gelistete COBOL-Systeme, die auf Mainframes laufen, die bis zu 53 Jahre alt sind. Dazu gehören Systeme zur Verarbeitung von Daten im Zusammenhang mit dem Department of Veterans Affairs, dem Department of Justice und der Social Security Administration.

Warum nicht wie gestern migrieren und aktualisieren?

Das Upgrade dieser Legacy-Systeme ist nicht so einfach, wie es sich anhört. Die Systeme sind lebenswichtige Dreh- und Angelpunkte rund um die Uhr, an denen sich die Finanz-, Regierungs- und Geschäftswelt dreht. Der Code ist alt, vielschichtig und oft schlecht oder völlig undokumentiert. Es muss auch immer funktionieren. Die Aussicht wurde damit verglichen, die Propeller von einem Flugzeug zu entfernen und es mit Düsentriebwerken auszustatten – während es in der Luft ist.

  Welche Dokumente zu schreddern sind, um Ihre Identität zu schützen

Abgesehen vom Risiko ist das wirtschaftliche Argument für die Migration auf moderne Systeme auch ein hartes Argument. Das Geld, das gepumpt wurde, um diese Mainframes und COBOL-Anwendungen betriebsbereit zu halten, ist erstaunlich. Sollten Institutionen alles wegwerfen und neu beginnen, während dieser COBOL-Code noch läuft und funktioniert? Das ist ein harter Pitch für ein Board, das wahrscheinlich nicht besonders technisch versiert ist. Eine COBOL-Migration wird weder billig noch schnell sein.

„Ich habe gerade eine Umstellung von COBOL auf Java hinter mir“, sagte Hinshaw. „Sie haben vier Jahre gebraucht, und sie sind immer noch nicht fertig.“

Wenn das Die Commonwealth Bank of Australia ersetzte ihre COBOL-Kernplattform im Jahr 2012, dauerte es fünf Jahre und kostete letztendlich 749,9 Millionen US-Dollar (1 Milliarde Australier).

Und dann läuft es nach Plan. britische Bank, TSB, musste 2018 aufgrund eines Buyouts von einem COBOL-basierten System migrieren. Es lief nicht gut. Da die Bank tagelang nicht handeln konnte, beliefen sich die Kosten der Migration auf 330 Millionen Pfund. Dazu kamen die budgetierten Kosten für die Engineering-Arbeiten für die eigentliche Migration. TSB verlor auch 49,1 Millionen Pfund durch Finanzbetrug, während seine Systeme zusammenbrachen.

Die Kundenvergütung überstieg 125 Millionen Pfund, und die Bank musste 122 Millionen Pfund ausgeben, um neue Mitarbeiter einzustellen, um die 204.000 Kundenbeschwerden zu bearbeiten. Der Vorstandsvorsitzende trat zurück und das Unternehmen räumt den Schaden zwei Jahre nach dem Ereignis immer noch auf.

Das COBOL-Rätsel

Es kann nicht so bleiben, wie es ist, aber die Aussicht, etwas dagegen zu tun, ist wenig reizvoll. Dennoch wird es nur durch kontrollierte und behutsame Migrationen auf moderne Soft- und Hardware besser.

Um dies ohne Unterbrechung, Datenverlust und Ausfallzeiten zu erreichen, sind modernes Know-how und Geld erforderlich, das 50 Prozent der Gleichung ausmacht. Die andere Hälfte ist COBOL-Expertise und Zeit. Leider sind das die beiden Zutaten, die uns fast ausgehen.

Vielleicht reitet eine neue Generation von COBOL-Cowboys in die Stadt.