Modula-2: Noch fehlt die Akzeptanz im Markt

18.07.1986

Softwarehäuser sind oft auf eine bestimmte Programmiersprache für ihre Entwicklungen fixiert. Die COMPUTERWOCHE wollte wissen, welche Kriterien bei der Auswahl dieses Hilfsmittels angesetzt werden. Im Gespräch mit Albert Meier, Mitinhaber der Firma A. + L. Meier-Vogt in Bonstetten/ Schweiz, stellte sich heraus: Dieses Unternehmen beispielsweise kam zu seinem Favoriten gleichsam wie die Jungfrau zum Kind.

Herr Meier, Ihr Unternehmen forciert sehr stark die in Europa bislang noch wenig populäre Programmiersprache "Modula-2". Warum haben Sie sich von anderen Sprachen so rigoros abgewendet?

Wir stellen Software für Kleincomputer her, seit es Kleincomputer gibt. Dabei ist es nicht einmal die zueinander inkompatible Hardware, die uns zu schaffen macht. Bis jetzt ist es uns bei praktisch jeder Erweiterung unserer Softwarepalette auf neue Rechner gelungen, unsere Quellprogramme mit sogenannten Crosscompilern weitgehend automatisch zu übertragen.

Wenn wir aber heute ein Basic- oder Fortran-Programm auf die neue Fenstertechnik umstellen wollten, wäre es wahrscheinlich einfacher, die Software gleich von Grund auf neu zu konstruieren. Andernfalls müßten wir entweder unsere Compiler komplett austauschen oder warten, bis unsere bisherigen Compiler mit den neuen Merkmalen ausgestattet würden.

Dies wäre dann mit höheren Wartungskosten verbunden.

Ja, denn dieser Schritt würde dazu führen, daß die verwendete Sprache um einige Befehle weiter, sprich umfangreicher, und damit eindeutig an Übersichtlichkeit verlieren würde, was wir natürlich mit höheren Wartungskosten bezahlen. Vor allem, wenn man daran denkt, daß der nächste Fortschritt mit Sicherheit folgen wird und so noch gewaltigere Kraftakte erfordern dürfte, sieht man schnell ein, daß diese Art Software herzustellen, langfristig ein unrentables Unterfangen ist. Wir stellen allerdings mit Bedauern fest daß dies anscheinend in Europa gang und gäbe ist!

Sie haben also alternativ die Sprache "Modula-2" gewählt. Wie kam es dazu?

Das verdanken wir eigentlich der Eidgenössischen Technischen Hochschule (ETH) in Zürich und hier wiederum dem Institut für Informatik.

Als wir vor etwa sechs Jahren näheren Kontakt mit diesem damals neu gegründeten Institut aufnahmen, ahnten wir nicht, daß in wenigen Jahren die an dieser Hochschule von Professor Niklaus Wirth entwickelte Programmiersprache "Pascal" zu Weltruhm gelangen würde. Wir entwickelten damals zwar Pascal-Compiler für unseren eigenen Gebrauch, da auf Kleincomputern keine verfügbar waren, ersetzten diese aber bald durch brauchbare und allgemein erhältliche Compiler.

In diesem Institut wurde uns nun ein neuer Arbeitsplatzcomputer namens "Lilith" vorgestellt, ohne Gehäuse zwar, doch ausgestattet mit einer Maus und einem hochauflösenden Bildschirm mit Zeigesymbolen. Das für uns herausragendste Merkmal dieses Computers war allerdings seine Programmiersprache, nämlich "Modula-2".

Was hat Sie an dieser Sprache am meisten beeindruckt?

Ich glaube die einfache Implementation - wie einfach, wurde schon dadurch deutlich, daß im Projekt "Lilith" der ganze Kerncode als Mikrocode in einen Prozessor verpackt werden konnte und somit für das weitere Projekt, eben den oben geschilderten Computer, ein spezieller "Modula-2"-Prozessor zur Verfügung stand. Es erstaunt nicht, daß das komplette Betriebssystem, alle Peripherietreiber, das eigentliche Programmentwicklungssystem und natürlich die ganze Anwendungssoftware in "Modula-2" geschrieben wurden.

Seitdem verwenden Sie diese Sprache?

Ja, vor vier Jahren verfuhren wir mit "Modula-2" ähnlich wie wir es mit Pascal gemacht hatten: Wir stellten für unseren Hausgebrauch eigene Compiler her und integrierten diese in unser Entwicklungskonzept. Erwartungsvoll sehen wir auch bei "Modula-2" für jedermann erhältlichen Versionen entgegen.

Haben sich Ihre Erwartungen erfüllt?

Nein, wir hatten uns getäuscht. Wir glaubten, daß es bekannt werden würde, daß die inzwischen weltbekannte Sprache Pascal einen mehr als würdigen Nachfolger erhalten habe. Wir konnten nicht verstehen, weshalb sich nicht die ganze DV-Welt auf die neuen Erkenntnisse und Entwicklungen stürzte, vor allem weil diese Forschungsresultate in einem viel weiteren Rahmen veröffentlicht wurden, als dies vor zehn Jahren bei Pascal der Fall gewesen war.

Erfolgte denn gar keine Resonanz?

Nun ja, ein paar wenige leistungsfähige Hochschulprototypen für Rechner wie PDP-11 und Apple-II entstanden, doch waren diese nicht für den allgemeinen Gebrauch konzipiert. Der Anfang mußte wieder einmal in den Vereinigten Staaten gemacht werden: Eine Modula-Corporation brachte Nachbildungen des Lilith-Computers mit der Software der ETH-Zürich heraus. Noch im August 1984 stammten alle verfügbaren Compiler bis auf eine einzige Ausnahme aus den Vereinigten Staaten. Damals hatten schon eine ganze Reihe von Softwareherstellern wie wir komplett auf "Modula-2" umgestellt, obschon die Qualität zum Teil noch nicht ganz das wünschenswerte Maß erreicht hatte. In Europa herrschte praktisch Ruhe - kaum einer kannte "Modula-2".

Jetzt nutzen Sie diese Sprache nicht nur für Compiler, sondern auch für andere Softwareentwicklungen.

Ja, als im Januar 1985 ein Modula-2-Programmentwicklungssystem auf den amerikanischen Markt kam, welches auf den gängigsten Kleincomputern verfügbar war, für 249 Dollar gleichzeitiges Kompilieren während des Editierens bot, schnelle Ausführung der Programme und einen syntaxgesteuerten Editor versprach, bestellten wir sofort ein Exemplar. Wir waren begeistert von dem Produkt, das wir erhielten; es entsprach fast völlig unseren Vorstellungen eines guten Modula-2-Entwicklungssystems für Kleincomputer. Als wir es Kollegen weiterempfahlen und dabei in den USA nach europäischen Wiederverkäufern fragten, mußten wir erfahren, daß nur eine verschwindend geringe Zahl von Systemen nach Europa verkauft worden war. Es sei sozusagen keine Nachfrage vorhanden, hieß es.

Sie sehen hier einen latenten Markt. Was macht Sie so sicher?

Wir sind von der Sprache überzeugt, und haben uns entschlossen dieses Programmentwicklungssystem hier in Europa so zu verkaufen, daß Modula-2 zu einer Verbreitung gelangt, die diesem Programmentwicklungssystem gerecht wird. Wir bieten nun das ganze System mit syntaxgesteuertem Editor/Compiler, Linker, Bibliotheksmanager, 18 Bibliotheksmodulen und einigen weiteren praktischen Werkzeugen für den europäischen Raum mit landessprachlicher Dokumentation an. Gleichzeitig werden wir unsere eigenen Produkte deutlich als "mit Modula-2 entwickelt" deklarieren.

Besondere Merkmale von Modula-2

Modulare Programmierung

Man kann Prozeduren und Daten zu übergeordneten Programmbausteinen, sogenannten Modulen, zusammenfassen. Sie dienen zur Strukturierung und Entkoppelung von Programmteilen.

Getrennte Übersetzbarkeit

Module können für sich allein übersetzt werden. Dabei wird schon zur Übersetzungszeit geprüft, ob die Schnittstellen zu anderen, ebenfalls für sich übersetzten Modulen korrekt sind. Die Schnittstellenprüfung schränkt Fehlerquellen ein und ermöglicht eine arbeitsteilige Softwareproduktion.

Parallele Prozesse

Modula-2 bietet die Möglichkeit, Prozesse (sogenannte Co-Routinen) miteinander verzahnt ablaufen zu lassen. Co-Routinen sind besonders in der Systemprogrammierung wichtig.

Typenorientiertheit

Der Benutzer kann sich eigene Datentypen definieren und damit den Aufbau und Wertebereich seiner Daten explizit beschreiben. In Anweisungen und Ausdrücken wird dadurch eine strenge Typprüfung möglich, die verhindert, daß Objekte mit unverträglichen Datentypen miteinander verknüpft werden.

Strukturierte Programmierung

Die Anweisungen in Modula-2 zwingen zur strukturierten Programmierung (es gibt kein GOTO!)

Geringer Sprachumfang

Die Syntax von Modula-2 wurde bewußt klein und überschaubar gehalten. Nicht zuletzt erleichtert der geringe Sprachumfang auch die Implementierung von Modula-2 auf Mikrocomputern.