4.1 Besonderheiten des Betriebssystems
Neben den in der Einführung erwähnten Leistungsfähigkeit und dem streng modularen Aufbau zeichnet sich Oberon durch die Abschaffung der Textmodi aus. Das bedeutet, das ein Text editierbar, speicherbar druckbar sowie Kommando sein kann.
Oberon-2 bietet einige Erweiterungen an. Neben der bereits erwähnten For-Schleife ist folgende Eigenschaft besonders hervorzuheben:
Variablen können schreibgeschützt exportiert werden. Dies wird markiert, indem bei der Deklaration anstelle des Sternchens ("*") ein Minuszeichen ("-") eingegeben wird.
4.2 Besonderheiten der Programmiersprache
Oberon ist modular aufgebaut. Die kleinste ausführbare Einheit ist von daher nicht mehr ein Programm, sondern ein Modul
4.2.1 Import oder Export?
Wie bereits erwähnt, ist es in Oberon äußerst einfach, Prozeduren, Variablen und Konstanten von anderen Modulen zu importieren bzw. von anderen Modulen importieren zu lassen. Es mag für Einsteiger verwirrend sein, wenn wechselnd von Import und Export die Rede ist. Tatsächlich findet nur der Import aktiv statt. Die einzige Aktion, die zum Export vorgenommen wird, ist, daß Objekte als exportierbar markiert werden. Es findet kein aktiver Export statt. Siehe auch 3.5
4.2.2 Auswertung boolscher Ausdrücke
Eine eher unangenehme Besonderheit ist, daß die Auswertung boolscher Ausdrücke abgebrochen wird, wenn das Ergebnis schon nach Auswertung des ersten Arguments bzw. weiterer Argumente feststeht. Diese Vorgehensweise unterscheidet sich von der mathematischen Definition, die boolsche Ausdrücke immer vollständig auswertet. Es ist also unbedingt nötig, auf die Reihenfolge der Argumente zu achten. Siehe auch 3.3.1
4.2.3 Vordeklarierte Funktionen, Typkonversion
Oberon stellt dreiundzwanzig vordeklarierte Funktionen zur Verfügung, auf die der Programmierer zurückgreifen kann. Besonders hervorzuheben sind die Typkonversionsprozeduren, welche eine Variable in einen anderen Typ überführen.
4.2.4 Typdeklaration
Der Programmierer kann eigene, zusätzliche Typen deklarieren. Auch sie können exportiert werden.
|