© Liashko/Shutterstock.com
Entwickler Magazin
Auf den Spuren von Niklaus Wirth

Modula, zum Zweiten

Niklaus Wirths Produktivität im Bereich der Sprachentwicklung ist nicht zu verachten: Kurz nach der Einführung von Pascal wandte sich der Schweizer einem als Modula bezeichneten Nachfolger zu. Dieser wurde allerdings nicht alt - Modula-2 erschien nur ein Jahr nach der Veröffentlichung der Sprachspezifikation.

Tam Hanna


Die Arbeit an Modula wurde durch einen Besuch Wirths bei Xerox motiviert: Kurze Zeit später begann man an der ETH Zürich mit der Arbeit an einer Lilith genannten Workstation. Als Programmiersprache sollte naturgemäß eine Eigenentwicklung dienen – das als Lehrsprache vorgesehene Pascal war aus mehreren Gründen ungeeignet. Erstens bot Pascal keine Möglichkeit zur Unterteilung des Codes – Modula sollte diesem Problem durch die Einführung der namensgebenden Module abhelfen. Die zweite Veränderung war die native Implementierung von Nebenläufigkeit, um die Parallelisierung von Aufgaben zu vereinfachen.

Installation

Modula-2 wurde im Jahre 1996 von der ISO standardisiert. Wir wollen in diesem Tutorial auf die GNU-Version zurückgreifen, die für diverse Betriebssysteme gleichermaßen zur Verfügung steht. Die folgenden Schritte erfolgten auf einer Workstation mit Ubuntu 14.04 LTS – andere Betriebssysteme dürften sich bis auf das Deployment analog verhalten. Übrigens: Wer GNU Modula nicht mag, kann beim Unternehmen Excelsior eine IDE für Modula für Windows herunterladen. Weitere Informationen hierzu finden sich unter [1].

Zur Installation öffnen Sie im ersten Schritt die Datei /etc/apt/sources.list (am einfachsten geht das durch Eingabe von sudo gedit /etc/apt/sources.list) und ergänzen sie um die Deklaration von zwei Repositories:

deb http://floppsie.comp.glam.ac.uk/debian/ jessie maindeb-src http://floppsie.comp.glam.ac.uk/debian/ jessie main

Im nächsten Schritt folgen die übliche Aktualisierung der Paketliste und das Herunterladen der beiden Pakete mit dem Modula-Compiler:

sudo apt-get updatesudo apt-get install gm2-doc gm2

Legen Sie nach der Abarbeitung der Installationsbefehle eine Datei namens helloworld.mod an, die fürs Erste mit folgendem Inhalt bevölkert wird:

MODULE hello ;FROM StrIO IMPORT WriteString, WriteLn ;BEGIN WriteString('hello world') ; WriteLnEND hello.

Nach der Deklaration des Moduls importieren wir einige Unterstützungsfunktionen aus der StrIO-Bibliothek – spezifischerweise die Ausgabefunktionen WriteString und WriteLn. Danach folgt – ganz im Stil von Pascal – die Einleitung des eigentlichen Programmcodes, der eigentlich nur aufgrund der separaten Nutzung von WriteString zum Ausgeben eines Strings und WriteLn zum Ausgeben von Carriage Return interessant ist. Befehle werden in Modula-2 normalerweise durch ein Semikolon beendet. Beim letzten Statement eines Blocks ist dies allerdings optional, was sich hier an WriteLn feststellen lässt.

Auf der mit gcc ...

Entwickler Magazin
Auf den Spuren von Niklaus Wirth

Modula, zum Zweiten

Niklaus Wirths Produktivität im Bereich der Sprachentwicklung ist nicht zu verachten: Kurz nach der Einführung von Pascal wandte sich der Schweizer einem als Modula bezeichneten Nachfolger zu. Dieser wurde allerdings nicht alt - Modula-2 erschien nur ein Jahr nach der Veröffentlichung der Sprachspezifikation.

Tam Hanna


Die Arbeit an Modula wurde durch einen Besuch Wirths bei Xerox motiviert: Kurze Zeit später begann man an der ETH Zürich mit der Arbeit an einer Lilith genannten Workstation. Als Programmiersprache sollte naturgemäß eine Eigenentwicklung dienen – das als Lehrsprache vorgesehene Pascal war aus mehreren Gründen ungeeignet. Erstens bot Pascal keine Möglichkeit zur Unterteilung des Codes – Modula sollte diesem Problem durch die Einführung der namensgebenden Module abhelfen. Die zweite Veränderung war die native Implementierung von Nebenläufigkeit, um die Parallelisierung von Aufgaben zu vereinfachen.

Installation

Modula-2 wurde im Jahre 1996 von der ISO standardisiert. Wir wollen in diesem Tutorial auf die GNU-Version zurückgreifen, die für diverse Betriebssysteme gleichermaßen zur Verfügung steht. Die folgenden Schritte erfolgten auf einer Workstation mit Ubuntu 14.04 LTS – andere Betriebssysteme dürften sich bis auf das Deployment analog verhalten. Übrigens: Wer GNU Modula nicht mag, kann beim Unternehmen Excelsior eine IDE für Modula für Windows herunterladen. Weitere Informationen hierzu finden sich unter [1].

Zur Installation öffnen Sie im ersten Schritt die Datei /etc/apt/sources.list (am einfachsten geht das durch Eingabe von sudo gedit /etc/apt/sources.list) und ergänzen sie um die Deklaration von zwei Repositories:

deb http://floppsie.comp.glam.ac.uk/debian/ jessie maindeb-src http://floppsie.comp.glam.ac.uk/debian/ jessie main

Im nächsten Schritt folgen die übliche Aktualisierung der Paketliste und das Herunterladen der beiden Pakete mit dem Modula-Compiler:

sudo apt-get updatesudo apt-get install gm2-doc gm2

Legen Sie nach der Abarbeitung der Installationsbefehle eine Datei namens helloworld.mod an, die fürs Erste mit folgendem Inhalt bevölkert wird:

MODULE hello ;FROM StrIO IMPORT WriteString, WriteLn ;BEGIN WriteString('hello world') ; WriteLnEND hello.

Nach der Deklaration des Moduls importieren wir einige Unterstützungsfunktionen aus der StrIO-Bibliothek – spezifischerweise die Ausgabefunktionen WriteString und WriteLn. Danach folgt – ganz im Stil von Pascal – die Einleitung des eigentlichen Programmcodes, der eigentlich nur aufgrund der separaten Nutzung von WriteString zum Ausgeben eines Strings und WriteLn zum Ausgeben von Carriage Return interessant ist. Befehle werden in Modula-2 normalerweise durch ein Semikolon beendet. Beim letzten Statement eines Blocks ist dies allerdings optional, was sich hier an WriteLn feststellen lässt.

Auf der mit gcc ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang