Herausforderung an den Programmierer:

Beginnt 1984 das Ada-Zeitalter?

12.12.1980

Ada Augusta, Countess of Lovelace und Tochter von Lord Byron, beschäftigte sich Mitte des 19. Jahrhunderts intensiv mit der "Analytical Engine" von Charles Babbage. Sie wird als die erste Programmiererin bezeichnet. Zu ihren Ehren erhielt die Programmiersprache Ada ihren Namen.

Warum eine neue Sprache? Für das amerikanische Verteidigungsministerium (DoD) sind die beachtlichen Aufwendungen der Entwicklung von Ada, ihrer Übersetzer und Programmiersysteme eine gute Investition: Man erhofft sich durch den Einsatz einer modernen Sprache Einsparungen von mehreren hundert Millionen Dollar jährlich bei den Kosten für Software-Entwicklung, -Wartung und -Weìterentwicklung einschließlich der Kosten für die Ausbildung. Besonders die Standardisierung einer einzigen Sprache, statt der Benutzung einiger hundert, spielt hierbei eine wesentliche Rolle. Auch die Programmierumgebung soll vereinheitlicht werden.

Schachzug

Nach drei Jahren Vorbereitung ist der Entwurf von Ada nun endgültig abgeschlossen; die Standardisierung durch ANSI und ISO wurde in die Wege geleitet (Reference Manual for the Ada Programming Language, U. S. DoD, Juli 1980 - erhältlich über Dr. Clausen, IABG, Postabholfach, 8012 Ottobrunn). Das DoD hat sich bewußt Zeit gelassen: Nach einer internationalen Ausschreibung wurden zunächst vier, dann zwei, später ein Entwurfs-Team finanziert. Gewinner des Konkurrenzkampfes war ein europäisches Team von CII-Honeywell Bull, Frankreich, unter der Leitung von J. Ichbiah. Immer wieder wurde die Öffentlichkeit in die Begutachtung einbezogen. Allein in der dritten Phase gingen über 900 Verbesserungsvorschläge, Kommentare und Gutachterbriefe ein. Ein geschickter Schachzug: Es wurde von vorherein für Interesse und Mitarbeit auf breiter Ebene außerhalb des militärischen Bereichs gesorgt- eine wichtige Voraussetzung für den Erfolg.

Aktivitäten

Und so sind denn auch bereits jetzt die Aktivitäten in Industrie, Verwaltung und Universitäten beachtlich: Die amerikanische Armee läßt von "Softech" einen portablen Übersetzer für die VAX 11/780 und andere Rechner bis 1982 entwickeln, die Luftwaffe ein Cross-Compiler-System für die IBM 370 und Interdata 8/32 mit Code Generatoren für eine Vielzahl von Rechnern, das mit einer ersten portablen Programmierumgebung 1983 verfügbar sein soll. In Europa wird eine Übersetzerentwcklung von APSYS/CII-Honeywell Bull/Siemens durch die EG finanziert. Intel hat für Ende 1981 die Produktion eines 32-Bit-Mikro-Mainframe-Computers mit Ada als "Maschinensprache" angekündigt. Ein System zur Übersetzung zwischen Ada und Pascal (und zurück) wurde an der UC Berkeley und der TU München entwickelt. Schon Anfang 1981 werden Übersetzer der Universität Karlsruhe (finanziert durch das deutsche Verteidigungsministerium, eingeleitet und betreut durch die IABG) und der Carnegie Mellon University zur Verfügung stehen.

Das DoD meint es ernst mit der weiten Vreibreitung (Übersetzer und Programmierumgebungen werden zu nominellen Kosten für die Versendung verfügbar sein), aber auch mit der Kontrolle. Übersetzer müssen überprüft werden,bevor sie den geschützten Namen Ada tragen dürfen. Ein Validierrungssystem wird dazu bis Ende 1981 von Softech entwickelt. In der Eindämmung von Dialekten (nicht mehr und nicht weniger als Ada) liegt ja gerade der Vorteil der Standardieserung.

Wenn man eine gewisse Zeitspanne für die Verbesserung der Übersetzer-systeme und iher Übertragung auf andere Rechner berücksichtigt, kann man davon ausgehen, dasß sich Ada ab 1984 weltweit durchsetzt. P. Wegner sagt in einem Artikel in ACM Sigplan Notices voraus, daß 1995 Ada mehr verwendet werden wird als Fortran. Wer wird davon betroffen sein? Wo sind die Märkte für die Ada-Programmierung?

Echtzeit-Anwendungen

Ada wurde nicht für den Bereich der "kommerziellen Datenverarbeitung" entwickelt, für den Cobol einmal entworfen wurde (übrigens auch finanziert durch das DoD). Ada ist gedacht für die Programmierung integrierter Systeme aus Software, Hardware und technischem Prozeß. Es deckt also nicht nur den Bereich herkömmlicher höherer Programmiersprachen wie Fortran, Algol, Pascal ab, sondern ganz besonders auch den der Echtzeitanwendungen. Bisher gibt es keine standardisierte Sprache für die Systemprogrammierung, keine einheitliche Sprache für Mikroprozessoren. Hier kommt Ada zum richtigen Zeitpunkt und hier wird auch ein wesentlicher Erfolg für Ada liegen; es wird die Maschinensprachen ablösen.

Für die Software-Industrie ist sicher die Erhöhung der Programmierproduktivität entscheidend. Auf den Ruf nach höherer Zuverlässigkeit, mehr Maschinenunabhängigkeit, Unterstützung der Programmentwicklung, besserer Wartbarkeit und Veränderbarkeit von langlebigen Systemen antwortet Ada mit einer ganzen Reihe von Verbesserungen und Neuerungen: strenge Typisierung, Modularisierung durch Programmpakete, Verstecken von Information über Implementierungsdetails, getrennte Übersetzung, Schematisierung von Programmeinheiten, Behandlung von Ausnahmesituationen zur Ausführungszeit, Parallelverarbeitung auf hoher Ebene, Isolierung von Maschinenanpassungen wie Speicherabbildung von Datentypen, einheitliche Ein-/Ausgabe einschließlich Dateienverwaltung und so weiter.

Eine Programmiersprache, die ein so breites Spektrum abdeckt, ist notwendigerweise umfangreich und will erlernt sein. Hier liegt die größte Herausforderung bei der Einführung von Ada. Andererseits bietet sich die Chance, Programmierer, die vielleicht bisher nur mit herkömmlichen Maschinensprachen gearbeitet haben, gleichzeitig mit der Ausbildung in einer neuen Sprache auch mit neueren Programmiertechniken vertraut zu machen.

Dr. Bernd Krieg-Brückner ist Wissenschaftlicher Mitarbeiter im Sonderforschungsbereich 49, Programmiertechnik, am Institut für Informatik der Technischen Universität München.