Modula-2
Modula ist eine 1978 entstandene Weiterentwicklung der Programmiersprache Pascal und wurde wie diese von Niklaus Wirth entwickelt. Die Version Modula-1 wurde nie praktisch angewandt, Modula-2 dagegen erreichte in den späten 1980er Jahren eine verhältnismäßig große Popularität, insbesondere in der Version von Jensen und Partners Internations (JPI), die einen 10-Fenster-Editor in ihrer Entwicklungsumgebung für MS-DOS und einen sehr schnellen Compiler mit gut optimiertem Objektcode auf den Markt brachten. Spätere Versionen davon hießen TopSpeed Modula-2; in die Entwicklungsumgebung wurden auch C und C++ aufgenommen. Die Firma ging später in Clarion Software auf, die Sprache Modula-2 wurde dann vernachlässigt.
Standard-Pascal, das als Sprache für den Programmierunterricht entwickelt worden war, war für praktische Programmieraufgaben kaum geeignet, es gab beispielsweise keinen geeigneten Datentyp und keine sinnvollen Funktionen für Zeichenkettenverarbeitung. Diverse herstellerspezifische Pascal-Dialekte boten Lösungen für diese Probleme, entsprachen aber keinem Standard und waren meist untereinander nicht kompatibel. Modula-2 wollte diesen und weitere Mängel auf systematischere Weise beheben.
Viele Benutzer fanden allerdings, dass sich mit Modula-2 der Trend weiter fortsetzte, den C. A. R. Hoare einst mit dem scherzhaften Satz "ALGOL war ein großer Fortschritt gegenüber seinen Nachfolgern" formuliert hatte. Das strenge Datentypensystem von Modula-2, das anders als viele andere Programmiersprachen auch keine absichtlichen Durchbrechungen erlaubt, empfanden sie als einschränkend. Sie blieben daher eher bei den erweiterten Pascal-Dialekten, als auf Modula-2 zu wechseln. Die Popularität von Turbo Pascal konnte Modula-2 nie erreichen.
Modula-2 erreichte seine dennoch relativ große Popularität wegen seiner Eignung für fast alle Aufgaben, seine hervorragende Modularisierbarkeit, die Einfachheit der Übersetzer und die Lesbarkeit der Programmtexte. Insbesondere der vom JPI-Compiler erzeugte Code war deutlich besser als der der meisten C-Übersetzer. Die Fehlerträchtigkeit war wegen der sehr strengen Typprüfung deutlich geringer als bei C. Modula-2 erzwingt die Deklaration aller Datentypen.
In Modula-2 gab es schon qualifizierten und unqualifizierten Import von separat kompilierten Modulen. Jedes Modul hatte seinen eigenen Namensraum, sodass es durchaus in verschiedenen Modulen gleichnamige Funktionen geben durfte. Der Name von Modulen musste mit den Dateinamen übereinstimmen, was die Übersicht stark erhöhte. Die klare Trennung von DEFinition und IMPlementation war richtungsweisend und in ihrer Klarheit bis heute von den meisten neueren Programmiersprachen kopiert, aber unerreicht.
Niklaus Wirth hat sein Modula-Konzept weiterentwickelt – zu Oberon. Er war der Auffassung, dass es nicht genügt, eine Programmiersprache zu haben. Es sei auch notwendig, ein grafisches Konzept und ein Betriebssystem mit zu integrieren. Es ergab sich ein interessantes Projekt, dessen wirtschaftlicher Erfolg sich aber nicht einstellte.
Modula-2 hatte auch von Wirth unabhängige Nachfolger wie Modula-2 plus und Modula-3.
Literatur
- Niklaus Wirth: Programming in Modula-2. Gebundene Ausgabe, Springer Verlag, 4. Auflage, 1989, ISBN 0387501509.