Eine Programmiersprache ist ein Notationssystem, in dem Anweisungen für eine Rechenanlage formuliert werden können. Sie ist aber gleichermaßen auch ein Werkzeug zur Beschreibung von Problemen und deren Lösungswegen. Deshalb hat eine neue Programmiersprache immer dann ihre Berechtigung, wenn sie im Vergleich zum Bestehenden neue, mächtigere Konzepte und adäquatere Abstraktionsmittel anbietet, die das Lösen von Problemen erleichtern und es erlauben, Lösungen verständlicher darzustellen. In den nächsten Kapiteln werden wir die Elemente der Programmiersprache Modula-2 (MODUlar programming LAnguage; im folgenden werden wir Modula synonym mit Modula-2 verwenden) im einzelnen vorstellen und den Umgang mit ihnen an vielen Beispielen vorführen. Im folgenden aber sei für den jenigen, der bereits Erfahrung mit Programmieren hat, dargelegt, was Modula-2 gegenüber Pascal beispielsweise an Neuem zu bieten hat. Das wichtigste neue Abstraktionsmittel der Programmiersprache Modula-2 ist ihr Modulkonzept. Mit ihm lassen sich Programme in überschaubare und voneinander weitgehend unabhängige Teile - in sogenannte Moduln - gliedern, deren Aufspaltung in Definitions- und Implementationsteil (Definitionsmodul und Implementationsmodul) ein separates Übersetzen ermöglicht. Diese Moduln können in einer Programmbi bliothek abgelegt werden. In ihrem Definitionsteil wird von den Details der Real isierung der Modulfunktion abstrahiert. Er beschreibt, was das Modul leistet, nicht wie.