Programmieren in Modula-2 - Wirth, Niklaus 1934-2024 (Springer Berlin Heidelberg, 1985)
genannt) sollte in einer einzigen höheren Programmiersprache program miert werden. Die Sprache mußte daher gleichzeitig den Anforderungen des Systementwurfs auf hoher Ebene als auch den Anforderungen der Pro grammierung auf niederer, maschinennaher Ebene gerecht werden. Letztere wird für diejenigen Systemteile benötigt, die in direkter Wechselwirkung mit der vorgegebenen Hardware stehen. Modula-2 entstand aus sorgfältigen Entwurfsüberlegungen als eine Sprache, die alle Möglichkeiten von Pascal enthält, diese jedoch um die wichtigen Konzepte des Moduls und der Multi programmierung erweitert. Da ihre Syntax mehr auf der Linie von Modula als auf der von Pascal liegt, wurde der Name Modula-2 gewählt. Im Weiteren werden wir den Namen Modula synonym für Modula-2 verwenden. Die wesentlichen Zusätze von Modula-2, bezogen auf Pascal, sind: 1. Das Konzept des Moduls und insbesondere die Möglichkeit, einen Modul in einen Definitionsteil und einen Implementationsteil aufzuspalten. 2. Eine systematischere Syntax, die das Erlernen vereinfacht. Insbesondere endet jede mit einem Schlüsselwort beginnende Struktur auch mit einem Schlüsselwort, d.h. sie ist ordentlich geklammert. 3. Das Konzept des Prozesses als Schlüssel zur Multiprogrammierung. 4. Sogenannte niedere, maschinennahe Sprachelernente, mit deren Hilfe man die strengen Regeln der Konsistenz von Typen aufbrechen kann. Sie erlauben ferner, Daten einer Modula-2-Struktur auf einen anderen Speicherbereich ohne vorgegebene eigene Struktur abzubilden. 5. Der Prozedurtyp. Er ermöglicht es, eine Zuweisung von Prozeduren an Variable dynamisch vorzunehmen. Eine erste Implementierung von Modula-2 war 1979 für PDP-ll-Rechner lauffähig. Die Sprachdefinition wurde im März 1980 als Technischer Report veröffentlicht. Seither wird die Sprache an unserem Institut täglich benutzt