40 Jahre Software-Engineering

Wertstoff Legacy-Code - Rette ihn, wer kann

20.08.2008
Von Ernst Schierholz

Was nach vier Jahrzehnten geblieben ist

Seit 1968 wurden Hunderttausende von Personenjahren in Software investiert. Was ist daraus entstanden? Zuerst einmal eine Menge Code und Daten! Meist versunken und vergessen wie die alten Disketten. Die waren früher so groß wie Torten und hatten anfangs noch gestanzte Löcher, an denen sich die Schreibköpfe orientieren konnten; es gab Winchester-Platten, die locker drei Megabyte fassten, und ganze Schränke voll mit mehreren Kilogramm schweren Wechselplatten, die Ende der 1970er Jahre - sage und schreibe - 200 MB speichern konnten.

Die alten Daten sind Geschichte, ihre Aufbewahrungsfristen lange abgelaufen; das Daten-Layout hat sich verändert, die Speicherformate sind nicht mehr lesbar. Wäre es gesetzlich vorgeschrieben, dass alle Unternehmen die Lesbarkeit ihrer Altdaten nachweisen müssten, so entstünde sicher ein neuer und sehr lukrativer Geschäftsbereich in der Informatik.

Software hängt wie Klebstoff zusammen

Und was ist mit den Programmen? Hier haben zwei Dutzend Sprachen und Dialekten die Jahrzehnte überdauert. Schmerzhaft bewusst wurde uns das kurz vor der Jahrtausendwende, als die alten Recken der Softwareentwicklung aus dem Ruhestand geholt werden mussten. Damals erkannten wir schlagartig, dass Software wie Klebstoff zusammenhängt und sich die Sünden (oder Notwendigkeiten) vergangener Jahrzehnte deshalb wie Viren über Schnittstellen und Datensätze bis in die "moderne" Zeit fortpflanzen.

Die Welt der Informatik spricht immer noch zu mehr als 50 Prozent Cobol. Diese Sprache hat es vermocht, sich durch viele Häutungen hindurch an die jeweiligen IT-Landschaften anzupassen. Heute hat Cobol sogar objektorientierte Eigenschaften - auch wenn das ungefähr so sinnvoll ist wie ABS am Fahrrad. (Siehe auch: "Zombie goes E-Business")

Und was ist mit den anderen 8.511 Sprachen? Die meisten waren so proprietär, dass sie das Labor ihres Schöpfers gar nicht verließen und mit seinem nächsten Karrieresprung wieder verschwanden. Ein guter Teil der Sprachen starb mit der Hardware oder dem Betriebssystem, das den Compiler unterstützte. Wieder andere leben in ökologischen Nischen, steuern Waschmaschinen und Automobile.

Einige wenige Sprachen blieben uns erhalten. Würde man die heutigen Softwarebibliotheken auf das Wesentliche eindampfen, fände man bereits einiges an Java-, C++- und C#-Code. Aber das ist vergleichsweise wenig gegen den Rest. Neben ungeheuer viel Cobol kommt auch PL/1 vor (davon gibt es noch schätzungsweise 400 große Anwender im deutschsprachigen Raum). Ferner existiert viel Code in einer Reihe von Sprachen, die dem 4GL-Hype der frühen 1990er Jahre entsprangen; dazu gehören CSP, Visual Age, Delta und Natural. Last, but not least feiern - Sie werden es nicht glauben! - immer noch viele Millionen Zeilen Assembler fröhliche Urständ. Allein in den Öffentlichen Diensten Deutschlands dürften noch mehr als 40 Millionen Assembler-Zeilen im Einsatz sein; dasselbe gilt für viele Kernsysteme von Finanzinstituten und Versicherungen, weil diese lange vor den 1980er Jahren begannen, ihre DV hochzuziehen.