Die sieben Leben von Cobol

Totgesagte leben länger. Das gilt ganz besonders für Cobol. Die Programmiersprache ist in vielen Unternehmen immer noch höchst gegenwärtig. Am Leben gehalten wird sie bislang vor allem durch unzählige alte, unverzichtbare Anwendungen. Die Qualitäten der Sprache lassen sich aber auch in modernen Umgebungen mit Standardsoftware und Service orientierten Architekturen (SOA) einsetzen.

Cobol galt bereits Mitte der 80er Jahre als überholt, weil Programmieren am Mainframe out war. Doch schon bald schafften PC-Entwicklungssysteme der bedrohten Sprache eine Atempause bis Ende der 80er Jahre. Damals sollten die Sprachen der 4. (4GL) und 5. Generation (objektorientierte Programmierung) 3GL-Sprachen wie Cobol ablösen. Außerdem nagte das Verdikt des unentwirrbaren Spaghetti-Codes an der Reputation der Business-Programmiersprache. Zwar machte der Standard von 1985 vielen unsauberen Praktiken ein Ende, doch viele Programme stammten aus den 50er und 60er Jahren und galten als kaum zu „Re-Engineeren“. Wieder wurde Cobol zum Auslaufmodell erklärt und verschwand aus den Schlagzeilen.

Für Furore sorgte die Sprache erst wieder mit ihrem eingebauten Millennium-Bug. Miterfinderin Grace Hopper hatte 1959 die Datumsangaben bei Jahr aus Kostengründen auf zwei Stellen begrenzt. Nun mussten zum Jahrtausendwechsel alle Cobol-Programme überarbeitet oder ausgemustert werden. Das war eine monströse Aufgabe, denn schließlich waren rund 80 Prozent aller betriebswirtschaftlichen Programme in Cobol. Doch die dadurch entstandenen Milliarden-Kosten haben Cobol mitnichten den Todesstoß versetzt. Vielmehr wurden für das Geschäft mit der Datumsumstellung überall Cobol-Veteranen reaktiviert und neue Adepten ausgebildet. Das Ergebnis: Die Umstellung gelang und die Lebensdauer der Uraltprogramme verlängerte sich um weitere Jahre, vielleicht Jahrzehnte. Nach aktuellen Schätzung ist der Prozentsatz der in Cobol laufenden Anwendungen lediglich von 80 auf 60 Prozent gesunken.

Was lässt Cobol in Zeiten von Java, Dotnet, J2EE, Model Driven Architecture (MDA), Service-orientierter Architektur und Eclipse überleben? Einiges erklärt sich aus der Konzeption: Cobol ist eines der ersten Programmiersysteme, das die Bezeichnung „Sprache“ tatsächlich verdient. Es ist so eng an das Englische angelehnt, dass selbst Anfänger aus dem Sourcecode erahnen können, was das Programm machen soll. Disziplinierte Entwickler können (selbst ohne aufwändige Dokumentation) damit weitgehend selbsterklärende und somit leicht zu wartende Programme schreiben. Hinzu kommen betriebswirtschaftliche Funktionen (zum Beispiel Record-Verarbeitung), die sich weit eleganter und performanter realisieren lassen als etwa mit C. Selbst große Datenbanken lassen sich – ohne Extra-Datenbanksystem – damit verwalten. Und tatsächlich geschieht das auch heute noch.

Hier greift der zweite Grund für das lange Leben von Cobol. Was einst für die Bundesbahn galt, gilt heute noch für die Cobol-Programme: Sie laufen, laufen und laufen. Die Daten sind in ERP-Systeme wie R/3 einbindbar und manchmal, so kolportiert Micro-Focus-Manager Joachim Blome sind diese ERP-Systeme wie etwa Peoplesoft oder die weit verbreitete Personalsoftware Paisy sogar selbst Cobol-Programme. Transaktionssysteme wie IBMs CICS/IMS oder Tuxedo von BEA werden ebenso unterstützt wie Java.

Themenseiten: Analysen & Kommentare, Anwendungsentwicklung, IT-Business, Plattform, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

ZDNet für mobile Geräte
ZDNet-App für Android herunterladen Lesen Sie ZDNet-Artikel in Google Currents ZDNet-App für iOS

Artikel empfehlen:

Neueste Kommentare 

1 Kommentar zu Die sieben Leben von Cobol

Kommentar hinzufügen
  • Am 7. Dezember 2005 um 14:23 von Werner Lanter

    Warum noch Cobol?
    Als Programmierer mit mehr als 30 Jahren Erfahrung hauptsächlich mit Cobol stimme ich der Meinung zu, dass Service orientierte Architekturen (SOA) für Cobol ein weiteres Leben bedeuten können. Eigentlich sollte man dies nicht als neues Leben sondern mehr als Jungbrunnen bezeichnen. Da Cobol, wie gesagt eine fast natürliche Sprache ist, kann man mit Worten (Befehlen) ausdrücken, was das Programm ausführen soll. Es gibt kein Cobol++ oder Cobol# sondern einfach Cobol, zugegeben mit mehreren Spracherweiterungen aber immer noch rückwärts kompatibel. Das Konzept von Cobol wird es auch in Zukunft erlauben, diese Sprache für neue Anforderungen zu erweitern. Aus diesen Gründen entwickle ich auch heute noch neue Programme mit Cobol als der Sprache für kommerzielle Anwendungen und zwar auf und für die Windows-Umgebung.

    Cobol-Anbieter wie Micro Focus bieten oft verschiedene Assistenten zur mehr oder weniger automatischen Generierung von Services aus bestehendem Code an. Ob das Resultat für die Praxis taugt, möchte ich bezweifeln, denn ein Service sollte mehr sein als ein Programm mit einem modifizierten Aufruf. Für meine unter .NET entwickelten Webservices verwende ich als Datenaustauschformat XML-Dokumente, welche ihrerseits auf .NET Datasets basieren. Mit Micro Focus Cobol for .NET können Datasets mit einfachen embedded SQL-Befehlen definiert und bearbeitet werden. Aber auch Client-Programme unter .NET können sehr gut mit Cobol entwickelt werden. Und wenn man für Winforms oder Webforms eine andere Sprache bevorzugt, ist ja gemischt sprachliche Programmierung unter .NET auch kein Problem mehr.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *