Home Up Intro Contents Chapter 1 2 3 4 5 6 7 8 9 10 Design Assert Timing EBNF Report Pas Last Changed: Nov. 19, 1997
This is a conversion from Oberon text to HTML. The converter software is still under development, and some features or information may be missing in this converted version. HTML hypertext facilities are not yet active in this document. To exploit the interactive facilities, use Oberon System 3 and the source of this text, available as ASCII-coded Oberon System 3 documents. A previous version is also available for Oberon V4. To access this and other additional material use ftp.
For the convenience of our students, most of this information and the related material is in German. Sorry if this is not one of your languages.

Einführung in die Programmiersprache Oberon.

G. Sawitzki <gs@statlab.uni-heidelberg.de>


Einführung in die Programmiersprache Oberon
Günther Sawitzki
<gs@statlab.uni-heidelberg.de>


Übersicht: Vorwort und Inhalt
-- Dieses Manuskript ist noch in Entwicklung. Stand: Juni 1998 --

Die Vorlesung "Einführung in die Programmiersprache Oberon" richtet sich an Studenten mit mathematischen Grundkenntnissen und Interesse an Informatik.

Oberon ist unter anderem der Name für

-  ein Forschungsprojekt über Software-Umgebungen für Workstations, durchgeführt 1986-1989 am Institut für Computersysteme, ETH Zürich
-  ein in diesem Projekt entwickeltes Betriebssystem, das sowohl eigenständig implementiert sein kann, als auch als Emulation über anderen Betriebssystemen
-  eine Programmiersprache.

Der Kurs befasst sich mit der Programmiersprache Oberon. Seit dem ersten Entwurf 1988 hat die Sprache einige Veränderungen erhalten. Dem Kurs liegt die Sprachdefinition Oberon-2 vom Oktober 1993 zu Grunde. Die Sprache Oberon kann auch unabhängig vom Oberon-Betriebssystem benutzt werden.

Der Kurs macht drei Gänge durch die Sprache Oberon. Im ersten Durchlauf werden Grundkenntnisse in der Handhabung des Oberon-Betriebssystems vermittelt und die Bestandteile der Sprache Oberon vorgestellt (Modul, Typen und Variablen, Deklarationen, Kontrollstrukturen). Die Grundlektionen sollten ausreichen, um sich auch im Selbststudium weitere Oberon-Kenntnisse etwa anhand von Reiser und Wirth: "Programmieren in Oberon", Kap. 9 ff, anzueignen.

Im zweiten Durchlauf wird Design und Implementierung in Oberon an Beispielen diskutiert. Dabei werden insbesondere Prinzipien des objekt-orientierten Designs und Methoden des Software-Engineering zur Diskussion kommen. Einige der Beispiele entstammen "Project Oberon" (Wirth und Gutknecht 1992) und "Programming in Oberon" (Reiser und Wirth 1992).

Der dritte Durchlauf ist ein systematischer und vollständiger Gang durch die Sprachdefinition "The Programming Language Oberon-2" (Mössenböck und Wirth, Oktober 1993).

Der erste Durchlauf kann etwa als Kompaktkurs in einer Woche durchgeführt werden. Der zweite Durchlauf eignet sich eher für eine einsemestrige projektbegleitende Arbeitsgruppe, die mit dem dritten Durchlauf, etwa in Form eines zweitägigen Auffrischungskurses, abgeschlossen werden kann.

Für die praktischen Übungen wird das Oberon-Betriebssystem benutzt. Dies ist im Laufe der Zeit in verschiedenen Varianten weiterentwickelt worden und wird noch weiterentwickelt. Deshalb ist es leider unvermeidlich, dass es Unterschiede geben wird zwischen den Angaben hier, und der Situation, die der Leser bei sich zu einem späteren Zeitpunkt vorfindet.
Die ursprüngliche Entwicklungslinie von Oberon ist in (Wirth und Gutknecht 1992) und (Reiser 1991) beschrieben; die aktuelle Fassung ist derzeit Oberon V4. Eine ältere Fassung dieses Kurses für V4 ist über <http://statlab.uni-heidelberg.de/> zugänglich. Die derzeitige Entwicklungslinie der ETH Zürich ist Oberon System 3. Die vorliegende Fassung des Kurses wurde mit Oberon System 3 Version 2.1 und System 3 Version 2.2 benutzt. Als kommerzielles Produkt steht auch BlackBox (früher Oberon/F genannt) zur Verfügung, das jedoch derzeit nur unter Windows und MacOS implementiert ist.

Für den Kurs wird eine Installation von Oberon System 3 mit Gadgets. empfohlen. Der Kurs benutzt lokale Werkzeuge, die über die Oberon-Seite auf <http://statlab.uni-heidelberg.de/> bereitstehen, oder durch die entsprechenden Werkzeuge der System 3-Distribution ersetzt werden können.

Der Kurs gibt keine allgemeine Einführung in das Oberon-System. Dazu gibt es zu jedem Oberon-System Begleit-Unterlagen ("ReadMe", "DoubleClickOnMe", "Tour"), deren Lektüre dringend empfohlen wird. Für System 3 wird als weitergehende Einführung
  A. Fischer, Hannes Marais: The Oberon Companion,
  vdf Hoschsulverlag AG, Zürich 1998, ISBN 3 7281 2493 1,
empfohlen.

(c) G. Sawitzki, StatLab Heidelberg 1995 - 1998
Für Hilfe, Hinweise und Unterstützung ist A. Fischer, F. Friedrich, M. Fuchs, G. Valiente und C. Werner zu danken, sowie den Teilnehmern der bisherigen Kurse.

System-spezifische Besonderheiten
Allgemein: wenn Sie eine Oberon-Version benutzen, die kein hierachisches File-System unterstützt, müssen Sie bei den Namen der Beispiel-Dateien die Verzeichnis-Angaben Kurs/ bzw. Kurs/PIO/ löschen.

S3: für Macintosh und Windows unterstützt Dateinamen nach UNIX_Konvention. Bei Macintosh werden benötigte Verzeichnisse automatisch generiert, bei Windows sollten sie vorweg angelegt werden.
S3:  für IBM-kompatible (native) unterstützt kein hierarchisches Dateisystem. Der Kurs-Text muss entsprechend verändert werden.
S3:  die Behandlung des Options-Zeichen bei Oberon-Kommandos befindet sich im Umbruch. Je nach Version (und Modul) kann "/", "\" oder "%" gefordert sein.

V4   allgemein: Wenn gsBuilder nicht verfügbar ist, kann anstelle gsBuilder.Compile auch Folds.Compile benutzt werden. Die Fehler-Liste muss dann selektiert und Fehler-Elemente eingesetzt werden.
Dateien werden mit Edit.Open ^ (im Fenster System.Tool) geöffnet.
V4  für Macintosh benutzt Dateinamen nach Macintosh-Konventionen. Im Kurs-Text muss der Separator / durch : ersetzt werden.
V4:  Dateien werden mit Edit.Open geöffnet. Im Kurs-Text ist Desktops.OpenDoc ^ durch Edit.Open zu ersetzen.

Wenn gsBuilder nicht verfügbar ist, kann anstelle gsBuilder.Compile das Komando Builder.Compile benutzt werden. In diesem Fall muss die Fehlerliste selektiert und die Fehler mit müssen mit Builder.MarkErrors markiert werden.


Home Up Intro Contents Chapter 1 2 3 4 5 6 7 8 9 10 Design Assert Timing EBNF Report Pas