oberon index <- ^ -> mail ?
Weiter: Systemumgebung, darüber: Das Ulmer Oberon-System.

Form und Sprache

Das Ulmer Oberon-System stellt die verschiedensten Programmierkonzepte in Form einer erweiterbaren Bibliothek zur Verfügung. Ein großer Teil dieser Konzepte wurde nicht eigens in diesem Rahmen erfunden, sondern gehört sicherlich zu den Standardwerkzeugen des modernen Informatikers. Neu und richtungsweisend ist dagegen, wie konsequent die verschiedenen Paradigmen weg von der globalen Integration in den Tiefen eines Systems hin zu separaten, auf Programmierniveau zugänglichen Einzelbestandteilen an der Oberfläche verlagert wurden.

Die Bibliothek stellt sich dar als eine Sammlung von Modulen, die in der Programmiersprache Oberon (wie in [Wirth88] und ergänzend [Borchert95a] beschrieben) formuliert wurden. In der Beschränkung, gewissermaßen dem Fortlassen jeglicher Komfortausstattung -- samt zahlreicher serienmäßig eingebauter Ungereimtheiten -- erweist dieses Sprachkonzept seine eigentliche Stärke. Die verschiedenen Aspekte einer Problemlösung zeigen sich vermehrt in expliziter Form und sind dadurch leichter voneinander zu differenzieren, was von Vorteil ist: Verborgene Querbeziehungen zu vermeiden -- auch auf Kosten der Kompaktheit des Quellcodes --, kann ja als einer der Schlüssel zur Softwarequalität angesehen werden (vgl. [Borchert94, Kap. 9]). Daß die vielen theoretisch zur Verfügung stehenden Mittel andererseits gerade nicht in Erscheinung treten, wo sie nicht auch eingesetzt werden, ist von mindestens ebenso unschätzbarem Wert für die Lesbarkeit von Programmen. Dies steht im Gegensatz zur Situation bei mächtigeren Sprachen, wo nicht ohne weiteres klar ist, ob ein Codefragment auf "elegante" Art sehr viel Komplexität versteckt oder es tatsächlich einen bis zur Einfachheit optimierten Sachverhalt wiedergibt.

Die Bibliothek enthält also viele Elemente, die bisher wohl kaum in ähnlich umfassender Weise ausschließlich im Rahmen einer portablen Laufzeitbibliothek realisiert worden sein dürften. Dazu gehören insbesondere Techniken zur Ausnahmenbehandlung, Adreßraumverwaltung, automatischen Speicherrückgewinnung, Verteilung des Kontrollflusses, Synchronisierung, plattformunabhängigen Datenweitergabe und Persistenz, sowie verschiedene objektorientierte Techniken einschließlich der Zugriffsmöglichkeit auf entfernte Objekte und weiterer Hilfsmittel für verteilte Systeme, die zum Teil Gegenstand der folgenden Kapitel sind. Hier kann nur einführend auf einige wesentliche Eigenschaften des umfangreichen Projekts "Ulmer Oberon-System" eingegangen werden.


oberon index <- ^ -> mail ?
Weiter: Systemumgebung, darüber: Das Ulmer Oberon-System.
Martin Hasch, Oct 1996