Was ist COBOL und warum ist es gefragt?
Das 60-jährige Programm COBOL erlebt eine Wiederbelebung. Viele Mainframes des Regierungssystems betreiben COBOL und haben Probleme, mit einem Anstieg der Nachfrage fertig zu werden. Insbesondere das Arbeitslosensystem des Bundesstaates New Jersey wird von einem 40 Jahre alten COBOL-Mainframe verwaltet.
Angesichts des mit COVID-19 verbundenen Anstiegs der Arbeitslosigkeit bemüht sich das System, Schritt zu halten. Gouverneur Murphy hat COBOL-Programmierer als eine unterschätzte Notwendigkeit identifiziert.
Was ist COBOL?
1959 entwarf der Ausschuss für Datensystemsprachen COBOL. Sie wollten eine Standardprogrammiersprache entwerfen, die auf vielen verschiedenen Mainframes ausgeführt werden kann.
Zu dieser Zeit wurden viele neue Programmiersprachen entwickelt, und die Übersetzung von Programmiersprachen für neue Hardware wurde zu teuer. COBOL oder eine gemeinsame geschäftsorientierte Sprache war die Lösung für dieses Problem.
COBOL basierte auf der Programmiersprache FLOW-MATIC, die von Grace Hopper erstellt wurde. Es war die erste Programmiersprache, die englische Begriffe für die Datenverarbeitung anstelle der mathematischen Notation verwendete. Grace Hopper erklärte:
„Ich war früher Mathematikprofessor. Zu dieser Zeit stellte ich fest, dass es eine bestimmte Anzahl von Studenten gab, die keine Mathematik lernen konnten. Ich wurde dann beauftragt, es Geschäftsleuten zu erleichtern, unsere Computer zu benutzen. “ (Die frühe Entwicklung von Programmiersprachen S. 29)
In ähnlicher Weise verwendet COBOL englische Begriffe und wurde so gestaltet, dass sie leicht zu lesen sind. Einige kritisierten es jedoch als zu wortreich. In C können Sie beispielsweise Folgendes schreiben, um zwei Zahlen hinzuzufügen:
int result = 1 + number;
Der gleiche Code in COBOL würde geschrieben werden als:
ADD 1 TO number GIVING result
Ähnlich wie C ist COBOL eine prozedurale Programmiersprache. Dies bedeutet einfach, dass COBOL-Programme so konzipiert sind, dass sie aufeinander folgenden Schritten folgen. COBOL ist auch eine selbstdokumentierende Sprache, die zu ihrer Benutzerfreundlichkeit beiträgt. Das bekannteste Merkmal von COBOL ist jedoch, dass es große Datenmengen verarbeiten kann.
COBOL wurde weit verbreitet, insbesondere von Unternehmen, Regierungen und Finanzinstituten. So weit verbreitet, dass es heute noch vielerorts verwendet wird.
Warum ist es weniger beliebt geworden?
Trotz der Popularität von COBOL in der Vergangenheit kennen nur wenige Menschen die Sprache. Es gibt heute mehr Programmiersprachen, die sich auf englische Befehle konzentrieren, die viel mehr Funktionen als COBOL bieten. Nur wenige Programmierer erstellen neue Programme in COBOL. Die Hauptverwendung besteht darin, ältere Programme zu verwalten.
Eine Kritik an COBOL ist, dass Programmierer dazu neigten, Spaghetti-Code zu schreiben. Spaghetti-Code ist ein abfälliger Begriff für Code, der schlecht strukturiert ist. Der Hauptverursacher von schlecht strukturiertem Code war der GOTO-Befehl.
Wie bereits erwähnt, ist COBOL prozedural, sodass der Computer jede Codezeile in der Reihenfolge von oben nach unten liest. Mit dem Befehl GOTO konnte der Programmierer das Programm anweisen, zu einer anderen Zeile zu springen. Eine schlechte Verwendung des GOTO-Befehls kann dazu führen, dass sich der COBOL-Code verwickelt.
Ein weiterer Grund, warum COBOL nicht beliebt ist, ist, dass es selten an Universitäten unterrichtet wird. COBOL wurde von der Geschäftswelt erstellt, nicht von der akademischen. Es wurde entwickelt, um geschäftliche Probleme zu lösen und ist für Probleme wie die Datenverarbeitung optimiert. Akademiker interessieren sich oft für unterschiedliche Fragen und fördern daher unterschiedliche Programmiersprachen.
Eines der größten Probleme bei COBOL ist jedoch, dass dies nicht der Fall ist, obwohl es als gemeinsame Sprache konzipiert wurde. Als sich die Sprache weiterentwickelte, wurden viele verschiedene Dialekte geschaffen – 300 davon!
Dies macht es für Programmierer schwierig, Legacy-Code zu verstehen.
Warum COBOL wichtig ist
Da COBOL von Unternehmen und Regierungen weit verbreitet ist, müssen noch viele COBOL-Systeme gewartet werden. Legacy-Code ist bekanntermaßen schwer zu pflegen, da die Programme groß und komplex sind. Daher werden Programmierer mit einem tiefen Sprachverständnis benötigt, um die Programme zu pflegen.
Es nimmt auch viel Zeit in Anspruch, Änderungen am Code vorzunehmen, da es schwierig ist festzustellen, ob sich die Änderungen auf andere Teile des Programms auswirken.
In den 90er Jahren waren wir beispielsweise mit dem Y2K-Fehler konfrontiert. Viele Jahresdaten wurden in Computern mit den letzten beiden Ziffern des Jahres anstelle des gesamten Jahres gespeichert. 1997 wurde also als 97 gespeichert. Es wurde befürchtet, dass bei einer Änderung des Jahres auf 2000 das Jahr 00 nicht als gültig erkannt wird, Probleme mit den Datumssequenzen verursacht und möglicherweise viele Systeme zum Absturz bringt.
Die US-Regierungen und -Unternehmen brauchten mehrere Jahre und 100 Milliarden US-Dollar, um den Y2k-Fehler zu beheben. Es ist möglich, ältere Systeme zu ändern, dies kann jedoch Zeit in Anspruch nehmen und kostspielig sein.
Im Jahr 2020 hat COVID-19 ein neues Programmierproblem geschaffen. Das US-Arbeitslosensystem läuft auf COBOL und es ist sehr schwierig und teuer, Änderungen am Programm vorzunehmen. Zum Beispiel hatte der Kongress geplant, auf den Anstieg der Arbeitslosigkeit mit einer Berechnung der Arbeitslosenauszahlungen auf der Grundlage von Lohnausfällen zu reagieren. Es hätte jedoch fünf Monate gedauert, das Programm anzupassen, um die Berechnung durchzuführen.
COBOL-Systeme können nicht schnell genug geändert werden, um auf Krisensituationen zu reagieren. Das Problem verschärft sich, weil nicht genügend Mitarbeiter in COBOL geschult sind, um bei der erhöhten Wartung zu helfen, die zur Unterstützung der Systeme während der Krise erforderlich ist. Diejenigen, die in COBOL ausgebildet sind, sind entweder im Ruhestand oder stehen kurz vor dem Ruhestand.
Wo man COBOL lernt
Um dem wachsenden Bedarf an COBOL-Programmierern gerecht zu werden, hat IBM einen kostenlosen COBOL-Kurs erstellt . Der Kurs besteht aus einer Reihe von Videos, Tests und Laboraufgaben. Die Durchführung dauert 16 Stunden und Sie erhalten am Ende ein Abzeichen.
Wenn Sie bereits ein erfahrener COBOL-Programmierer sind, bietet IBM auch ein COBOL-Netzwerkforum an. Dort können erfahrene Programmierer mit Organisationen und Unternehmen in Not verbunden werden.
COBOL ist keine trendige Programmiersprache wie Python, aber eine wichtige. Ein Großteil der Welt läuft immer noch mit COBOL. Wenn Sie über das Erlernen einer Programmiersprache nachgedacht haben, aber einen Push benötigen, sollten Sie COBOL lernen.