Cobol ist ein Sprachkoloss 2

Kommen wir zu den Vorteilen. Wenn es um die schnelle und auf mehrere Nachkommastellen äußerst genaue Verarbeitung von extrem umfangreichen Dateien mit multidimensionalen und indizierten Tabellen geht, ist Cobol eine der wenigen ernstzunehmenden Programmierwerkzeuge mit Erfolgsgarantie.

Ein wichtiger Grund für die Entwicklung von Cobol war, in beliebigen Dateien Selektionen unterschiedlichster Art treffen zu können. Cobol verfügt deshalb über eine ausgeklügelte Handhabung von Dateien und Tabellen mit allen denkbaren Zugriffsvarianten – Mehrfachschlüssel eingeschlossen.

Die Datenfelder eines Cobol Programms sind in Stufennummern von 01 bis 49 hierarchiert. Dadurch ist es möglich, ganze Datengruppen mit nur einem einzigen Namen anzusprechen. Variablen und Konstanten werden in alphabetische, alphanumerische, numerische und numerisch editierte Daten unterschieden und bis auf das letzte Byte detailliert. Sie können sich allein durch intelligente Definition einer Variable eine Menge Programmieraufwand sparen:

77 DM PIC Z,ZZZ,ZZ9.99 VALUE ZERO.

Die neunstellige, numerisch editierte Variable DM entspricht dem Level 77, d.h. sie gehört keiner anderen Datengruppe an und ihr sind keine weiteren Daten untergeordnet. Bei der Ausgabe auf dem Bildschirm oder Drucker werden führende Nullen an den mit Z markierten Stellen durch Leerzeichen ersetzt. DM hat zwei Stellen nach dem Dezimalpunkt, ist in 1000ern formatiert und mit dem Wert 0 vorbelegt. Durch eine besondere Klausel im Programm können Sie für die deutsche Bearbeitung die Kommas durch einen Punkt und den Dezimalpunkt durch ein Komma ersetzen. Auch Boolesche Variablen sind möglich. Der Stufennummer 88 zugeordnet, können Sie in Tabellen auch mehreren Bedingungen – also ganzen Mengen! – entsprechen.

Bis auf wenige Ausnahmen ist die Syntax sämtlicher Anweisungen auf nahezu allen Cobol-Compilern identisch. Fast alle Compiler unterstützen den genau definierten Sprachumfang ANSI-85, der tatsächlich sehr umfangreich ist und die wichtigsten Programmiervarianten ausreichend abdeckt. Dennoch hält sich die Portabilität bei genauester Betrachtung in Grenzen. Zwar können Sie ein Cobol-Programm ohne weiteres von DOS auf Unix oder OS/2 übertragen und nach grundsätzlichen Einstellungen von Compiler-Schaltern und anderen Optionen im Programm auch in akzeptabler Überarbeitungszeit zum Ablauf bringen – Anpassungsprobleme entstehen jedoch immer wieder. Auch wenn Sie sich bis ins Detail an den offiziellen Standard halten, müssen Sie beim ersten Compilierversuch mit schwerwiegenden Fehlermeldungen rechnen. Meist handelt es sich jedoch um Folgefehler, die in der Regel auf einen Schlag verschwinden, wenn Sie die Wurzel des Problems finden. Wie bereits erwähnt, lässt sich das häufig mit einer einzigen Compiler-Option oder einer grundsätzlichen Neudefinition einer speziellen Cobol-Anweisung erledigen.

Nehmen wir ein Beispiel aus der Praxis. Ein freiberuflicher Programmierer pflegt für unterschiedliche Firmen die Cobol-Programme auf PC-Basis. Firma X schwört auf den Compiler von Microfocus, während sich Y auf Realia-Cobol spezialisiert hat. Daheim schreibt er seine Anwendungen in MS-Cobol, Version 2.1. Über einen Bekannten kommt er gelegentlich mit Visual-Cobol von MBP und MS-Cobol, Version 3.0 in Berührung. Gelernt hat er mit VS-Cobol von IBM. Der Programmierer einer weiteren Firma, die RM-Cobol verwendet, hat aufgegeben, weshalb auch mit Aufträgen für diesen Compilier zu rechnen ist. Allein für DOS hat es der Programmierer nun mit wenigstens sechs verschiedenen Cobol-Compilern zu tun. Wir haben diesen Zustand, mit dem der Autor vor seiner Zeit als Redakteur selbst einmal konfrontiert war nachempfunden:

Quelle: PC+TECHNIK 6/1990

Matomo