Anekdoten aus dem Beginn meiner EDV-Karriere#
von Ronaldo ("Ronny") Böhmer Unmittelbar nach Beendigung meines Welthandel-Studiums begann ich als frischgebackener Diplomkaufmann 1969 bei IBM Österreich zu arbeiten, und zwar in der Information Systems genannten Abteilung der firmen-internen EDV. Das war damals noch die goldene Ära der 80-spaltigen Lochkarten, für die es im 17. Wiener Gemeindebezirk eine eigene Lochkarten-Druckerei gab – notabene seinerzeit die einzige Produktionsstätte der IBM in Österreich.Für die Lochkarten gab es eine kombinierte Lese-/Stanz-Einheit, die mit Kabeln an Schalttafeln programmiert wurde.
Diese Einheit hatte fünf Ablagefächer: zwei links für den Stanzer, zwei rechts für den Leser sowie eines in der Mitte, das je nach Programmierung von beiden Seiten angesteuert werden konnte. Ich erinnere mich an einen Job, bei dem zu jeder gelesenen Karte eine weitere Karte gestanzt wurde, die auch dann hintereinander zu liegen kommen sollten. Um sich einen eigenen Lauf über die Mischer-Einheit zu ersparen, wurde die Programmierung so gestaltet, dass alle Karten nach dem Lesen bzw. dem Stanzen abwechselnd in das mittlere Ablagefach fallen sollten. Prinzipiell eine gute Idee, die aber einen Schönheitsfehler hatte: Das Stanzen einer Karte dauert bedeutend länger als das Lesen, und im Endeffekt lag im mittleren Fach bereits die zweite gelesene Karte, noch bevor die erste gestanzte drin war – und diese Problematik wurde im Laufe der Abwicklung immer gravierender.
Kein Problem, dachte sich der Operator, dann soll das System nach dem Stanzen und vor dem nächsten Einlesen eben von 1 bis 100 zählen, das gibt zum Stanzen genug Zeit. Daraus wurde aber auch nichts: Es verging immer unendlich viel Zeit zwischen Stanzen und nachfolgendem Lesen, in der nichts passierte. Also wurde das Zählen auf 1 bis 50 verringert, woraufhin folgendes geschah: Die gestanzte Karte von links und die gelesene Karte von rechts trafen in der Mitte der Zufuhr aufeinander und stellten sich gegenseitig auf. Da resignierte der Operator endgültig, ließ alle gelesenen Karten ins rechte Ablagefach fallen, alle gestanzten ins linke und marschierte dann mit beiden Stapeln zum Mischer …
Wir programmierten in PL/1 für eine IBM System/360. Der Programm-Code wurde in Lochkarten gestanzt und diese kamen dann in den Compiler, wo der Input formal geprüft wurde, wobei es vier Fehler-Stufen gab: warning, error, severe error, terminal error.
Bei severe error ging das Programm nicht mehr in den LinkEditor weiter, bei terminal error natürlich schon gar nicht. Aber de facto wurde kaum jemals ein terminal error registriert, das wäre schon ein ziemlich hoher Fehler-Level gewesen.
Einmal allerdings „gelang“ es mir ungewollt, einen terminal error zu produzieren. Der Fehler war zwar ausgesprochen banal, ein normaler Syntax-Irrtum, aber offenbar genügte ein fehlendes Komma an der richtigen Stelle, um einen terminal error zu erzeugen, dessen begleitender Text die ganze Abteilung zum allgemeinen Gaudium zusammenlaufen ließ.
Noch heute erinnere ich mich an die Fehlermeldung: „Statement has too many errors to be interpreted.“ Das muss einem erst mal gelingen, darauf bin ich heute noch stolz – Chapeau!
Apropos Fehler: Einmal erhielten wir ein Programm der IBM Italien, das in Österreich implementiert wurde. Das Programm lief problemlos, sieht man davon ab, dass allfällige Fehler-Meldungen natürlich in italienischer Sprache erschienen.
Nun kann korrektes Italienisch für unsereinen durchaus komisch anmuten: Unser unangefochtener Favorit war „Errore fatale!“