Cobol ist ein Sprachkoloss 3

Wir (siehe Nachruf auf Udo May-Jung) haben ein Benchmark-Programm geschrieben, das nach der Sinus-Berechnung mit den vier Grundrechenarten und zwei Potenzierungen über eine Tabelle die Ergebnisse in eine Datei schreibt, wieder liest und auf dem Bildschirm eine stilisierte Kurve anzeigt.

Uns geht es bei dieser Routine nicht um ein Programm mit hohem Nutzen, sondern darum, in möglichst wenig Programmzeilen die unterschiedlichsten Anweisungen unterzubringen und die Reaktion der einzelnen Compiler zu beobachten. Der einzig technische Aspekt ist die Geschwindigkeit, die wir bei der Ausführung des Compilats gestoppt haben. Ansonsten geht es uns ausschließlich um die Portabilität des Programms.

Grundsätzliche Schwierigkeiten gibt es keine. Betrachtet man jedoch die Kürze von BENCH.COB, summieren sich die vielen kleinen Unterschiede recht unangenehm. Professionelle Cobol-Anwendungen füllen in der Regel ganze Aktenordner, weshalb die kleinen Unterschiede, die natürlich ausschließlich in haarkleinen Details liegen, unter Umständen äußerst lange Überarbeitungszeiten erwarten lassen.

Wir beginnen die Übersetzung mit MS-Cobol, Version 2.1 und erhalten prompt den ersten Fehler. Der Dateiname von BENCH.DAT muss über die VALUE OF FILE-ID in der FILE SECTION bestimmt werden und darf nicht wie bei fast allen übrigen Compilern direkt mit ASSIGN TO im FILE-CONTROL-Pragraph erfolgen. Die Übersetzung und Ausführung geschieht über die Eingaben

ISAM
RUNCOB BENCH
ISAM/F

Der Bildschirm wird automatisch gelöscht, das Programm brauchte 34,6 s. Die Ausführungsgeschwindigkeit des Runtime-Moduls ISAM haben wir nicht berücksichtigt.

Quelle: PC+TECHNIK 6/1990

Matomo