Ada oder Pascal: Welcher Sprache gehört die Zukunft?

12.06.1981

"Pascal hat den Weg für Ada geebnet und wird bis Mitte der achtziger Jahre Wegbereiter bleiben - doch die Zukunft gehört Ada", jubelt Dr. Bernd Krieg-Brückner, unter dessen Leitung derzeit an der TU München ein Übersetzersystem für die Umwandlung von Pascal- in Ada-Programme entsteht. Obwohl Pascal mit einigen Korrekturen im wesentlichen als Kern in Ada enthalten sei, wäre diese Programmiersprache jedoch besser auf die Erfordernisse der Systemimplementierung gerüstet. Hermann Abels, der bei der AC Copy GmbH in Aachen Software-Werkzeuge für Pascal vertreibt, ist überzeugt, daß die Bedeutung von Pascal auch künftig immer stärker zunehmen werde, da Ada wegen der wesentlich größeren Komplexität keine Alternative zu Pascal darstelle. Pascal verdanke seinen Erfolg ausschließlich der Tatsache, daß es sich bereits in der Praxis bewährt habe. Derartiges könne man von Ada bisher noch nicht behaupten.

Hermann Abels

AC Copy, Ingenieur-Büro für Datenverarbeitung GmbH

Pascal hat seit der Veröffentlichung zu Beginn der siebziger Jahre sehr großes Interesse in den verschiedensten Anwendungsbereichen gefunden, Verschiedene Gründe haben dazu beigetragen: Die Beschränkung auf wenige, aber wesentliche Sprachkonzepte, die Unterstützung des strukturierten, Programmierens, die Lesbarkeit und gute Wartbarkeit von Pascal-Programmen. Im Informatikunterricht an den Gymnasien und an den Universitäten wird meist Pascal als erste Programmiersprache gelehrt, insbesondere das Programmieren in Pascal zu einem guten Programmierstil erzieht. Die Betries(...)rheit und praktische An(...)barkeit der Compiler ist durch den mehrjährigen praktischen Einsatz zu einem hohen Standard gelangt.

Durch den Einsatz von optimierenden Compilern können kompakte und schnelle Programme erzeugt werden. Unsere langjährige Erfahrung mit Pascal auf Prozessrechnern (Omsi Pascal auf DEC-Rechnern) haben gezeigt, daß Pascal auf allen Gebieten der Datenverarbeitung mit Erfolg einsetzbar ist. Es standen sehr schnell Compiler zur Verfügung, speziell auch auf Mikroprozessoren. Durch zusätzliche Optimierung ist es möglich, bei der Übersetzung einen sehr effizienten Code zu erzeugen.

Pascal verdankt also seinen großen Erfolg auschließlich der Tatsache, daß es sich in der Praxis hervorragend bewährt hat. Dagegen ist ADA auf Initiative des Department of Defense, USA, entwickelt worden und soll als einheitliche Programmiersprache innerhalb des gesamten Militärbereichs benutzt werden. Die neue Sprache baut von den Grundkonzepten her auf Pascal auf. ADA hat jedoch sehr viele zusätzliche Konzepte, was durch den weiten Anwendungsbereich sowie durch die Zielsetzung bei der Sprachentwicklung bedingt ist.

Zum einen werden speziell für Real-time-Anwendungen Konzepte zur Parallelverarbeitung angeboten, andererseits wird durch ein modernes Modul-Konzept die Zuverlässigkeit der Programme erhöht. Das Konstrukt der Exceptions ermöglicht bei ADA die Behandlung von Ausnahmesituationen. Diese Beispiele zeigen schon, daß ADA eine sehr komfortable, jedoch eine wesentlich umfangreichere Programmiersprache als Pascal ist. Bei der Implementierung müssen zahlreiche schwierige Probleme gelöst werden. Zur Zeit stehen nur erste Testcompiler zur Verfügung. Es wird jedoch sehr intensiv an der Lösung dieser Probleme gearbeitet. Bis etwa 1985 sind praktisch anwendbare Systeme zu erwarten.

Hinter ADA steht einer der größten Software-Anwender mit der festen Absicht, ADA als Standard-Programmiersprache in seinem Bereich durchzusetzen. Dies wird auch in Europa nicht ohne Auswirkungen bleiben, Außerdem ist ADA eine der wenigen Sprachen, die Real-time-Anwendungen unterstützen, Aber auch die Bedeutung von Pascal wird in Zukunft noch mehr zunehmen, zumal ADA wegen der viel größeren Komplexität keine alternative zu Pascal darstellt.

Dr. Bernd Krieg-Brückner

Wissenschaftlicher Mitarbeiter im Sonderforschungsbereich 49, Institut für Informatik der Technischen Universität München

Pascal hat den Weg für ADA geebnet und wird bis Mitte der achtziger Jahre Wegbereiter bleiben. Doch ADA gehört die Zukunft.

Der Erfolg von Pascal ist durch die Beschränkung auf das Wesentliche zu erklären, als es um eine Integration der Forschungsergebnisse der sechziger Jahre in eine neue höhere Programmiersprache ging. ADA baut auf der Entwicklung eines weiteren Jahrzehnts auf.

Pascal ist mit einigen Korrekturen im wesentlichen als Kern in ADA enthalten. Doch ADA ist besser auf die Erfordernisse der Systemimplementierung gerüstet: Die strenge Datentypisierung erlaubt eine recht weitgehende Überprüfung von Programmeigenschaften zur Obersetzungszeit, aber erhöht auch wesentlich die Zuverlässigkeit durch Meldung von Ausnahmesituationen, die eine Fehlerbehandlung zur Ausführungszeit ermöglichen. Strukturierung und schrittweise Entwicklung, Wartung und Änderungsfreundlichkeit langlebiger Systeme werden durch Modularisierung, Schutz von Information über Implementierungsdetails und getrennte Übersetzung unterstützt. Echtzeitanwendung und Parallelverarbeitung - auch in verteilten Systemen - können auf hoher Ebene beschrieben werden. ADA-Programme sind in höchstem Maße portabel - Maschinenanpassungen wie Speicherabbildung für Datenobjekte können aber wenn notwendig erreicht werden.

So erschließt sich durch ADA ein breites Spektrum von Anwendungen, insbesondere im technisch-wissenschaftlichen Bereich, bei denen bisher eine Vielzahl von Programmiersprachen eingesetzt wurden und auf Maschinensprache nicht verzichtet werden konnte, Gerade durch die Standardisierung wird auf der Anbieterseite eine Industrie der Software-Komponenten entstehen, die durch Parameterisierung an Kundenwünsche angepaßt werden können. Der Kunde wird dann herstellerunabhängig aus den Katalogen vieler auch kleiner Anbieter auswählen können. ADA hat Pascal und jeder anderen Programmiersprache voraus, daß beim Erscheinen leistungsfähiger Programmiersysteme auf dem Markt (ab 1983) die Standardisierung bereits abgeschlossen ist und streng kontrolliert wird. ADA deckt viele Benutzerwünsche ab, wodurch die Verbreitung wesentlich gefördert wird.

Der einzelne Benutzer wird bei der Programmierung oft nur einen Teil von ADA (zum Beispiel den pascalähnlichen) verwenden. Er kann aber Programmpakete anwenden, die von Spezialisten unter Ausnutzung von ADA erarbeitet wurden und mit seinem ADA-Programm voll verträglich sind. So wird ADA selbst im kommerziellen Bereich Einzug halten - an einem Programmpaket für cobolähnliche Ein-/Ausgabe wird bereits gearbeitet.

Eine wesentliche Rolle bei der Verbreitung von ADA kommt der modernen Programmierumgebung zu, die etwa gleichzeitig mit Übersetzern zur Verfügung stehen wird. Programmierumgebungen werden aufgrund einer gemeinsamen Kernschnittstelle maschinenunabhängig sein. Die zusätzliche Schnittstelle einer allgemein verfügbaren Minimalumgebung erlaubt die Übertragung von benutzereigenen Werkzeugen.

Ohne Zweifel wird ADA auch an den Hochschulen weitgehend in der Lehre eingesetzt werden. Alle Vorteile der Standardisierung und Übertragbarkeit gelten natürlich auch für Software-Entwicklung im wissenschaftlichen Bereich. Die Forschung auf dem Gebiet der Programmiersprachen geht selbstverständlich weiter. Die Zukunft liegt bei Sprachen, die eine Methodologie der rechnergestützten Entwicklung von korrekten Programmen unterstützen. Daran wird zur Zeit im ClP-Projekt im Sonderforschungsbereich 49 an der TU München gearbeitet.

Walter Trojan

Leiter Systemberatung DPS 8, Honeywell Bull AG, Köln

Kommt eine neue babylonische Sprachverwirrung auf uns zu? Die in immer kürzeren Abständen erscheinenden neuen Programmiersprachen und deren Derivate lassen diesen Schluß zu. In den meisten Fällen sind diese Neuentwicklungen jedoch als ernsthafte Diskussionsbeiträge zur Lösung der aktuellen Softwarekrise zu bewerten. Verbunden mit der zur Produktivitätssteigerung erforderlichen Einführung neuer Softwaretechnologien stehen die bisher dominierenden Programmiersprachen Cobol (47 Prozent der Programme in USA), RPG (25 Prozent), Fortran (9 Prozent) und PL/1 (8 Prozent) zugunsten neuer Sprachmittel zur Disposition.

Das von N. Wirth, E. Dijkstra und C. Hoare maßgeblich gestaltete Pascal beinhaltet erstmalig alle Elemente der strukturierten Programmierung und hat mittlerweile ohne die nennenswerte Förderung von Normierungskomitees, Regierungsinstitutionen und EDV-Herstellern eine hohe Implementationsdichte erzielt.

Obwohl Pascal die klare Formulierung selbst komplizierter Algorithmen unterstützt, ist für viele technisch-wissenschaftliche Applikationen aufgrund begrenzter Arithmetik - komplexe Zahlen und doppelte Gleitkommagenauigkeit fehlen - kein vollwertiger Ersatz für Fortran gegeben. Auf dem kommerziellen Sektor wird zudem der breite Einsatz durch Beschränkung auf Sequential- und Randomdateien sowie mangelnde Datenbankunterstützung eingeengt. Zudem kann bei Verwendung der weitverbreiteten P-Code-Interpreter das Laufzeitverhalten für einen Produktionsbetrieb zu ungünstig sein.

Trotz der genannten Einschränkungen wird Pascal aufgrund der leichten Erlernbarkeit, der Unterstützung strukturierter Programmierung und des robusten, klar dokumentierten Codings einen intensiven Einsatz auf Mini- und Mikrocomputern finden und mit der Verdrängung von Basic auf dem Personal-Computer-Markt dominieren.

Wenngleich die Halbleiterindustrie beim Design der neuen 32-Bit-Mikroprozessorgeneration bereits den Maschinenbefehlssatz für die Ausführung von ADA-Programmen optimiert, dürfte dieser Sprachprozessor wegen der höheren Komplexität hauptsächlich auf mittleren und größeren EDV-Systemen mit entsprechenden Applikationen zum Einsatz kommen. Die freiwilligen beziehungsweise durch Druck öffentlicher Institutionen geförderten Bemühungen zur Standardisierung werden ADA in jedem Fall eine weite Verbreitung sichern.