Oberon ist eine prozedurale Programmiersprache von Niklaus Wirth und Jürg Gutknecht an der ETH Zürich, erstmals 1987 veröffentlicht — Nachfolger der Wirth-Linie Pascal → Modula-2. Zur Sprache gehört das gleichnamige Oberon-Betriebssystem: ein komplettes System, dessen Kern in Oberon selbst geschrieben ist. Oberon verzichtet bewusst auf viele Sprachfeatures und ist mit wenigen Regeln vollständig beschreibbar, bietet aber automatische Speicherbereinigung (Garbage Collection) und Typerweiterung — damals ungewöhnlich für eine Systemsprache.

Grundgerüst

MODULE Hallo;
  IMPORT Out;
BEGIN
  Out.String("Hallo, Welt!"); Out.Ln
END Hallo.

Wichtige Sprachmittel

  • MODULE / IMPORT: Module und Importe; Export-Kennzeichnung durch nachgestelltes * (z.B. VAR x*: INTEGER)
  • PROCEDURE: Prozeduren, optional als Typ-gebundene Prozeduren (Receiver: PROCEDURE (VAR o: Objekt) Zeichnen)
  • RECORD: Records mit Typ-Erweiterung (Record-Typen können erweitert werden = Objektorientierung)
  • LOOP … EXIT: Schleife mit Abbruch in der Mitte; WHILE, REPEAT, FOR ebenfalls vorhanden
  • CASE, IF…THEN…ELSIF…ELSE: Verzweigungen
  • Commands: parameterlose Prozeduren, die aus dem System direkt aufgerufen werden (z.B. per Tastenkürzel)

Praxis-Tipps

  • Der Compiler Oberon-07 (2007) ist die aktuelle, aufgeräumte Sprachfassung; Oberon-2 (1991, mit Wirth und Hanspeter Mössenböck) fügte Typ-gebundene Prozeduren hinzu.
  • Ein System wie das ETH-Original bootet in Sekunden, weil der Kernel winzig ist — Minimalismus als Designprinzip.
  • Für den Einstieg unter Windows/Linux gibt es freie Oberon-07-Systeme (z.B. OBNC, Oxford Oberon Compiler).

Oberon steht in der Linie Pascal und Modula-2; sein Modul- und Typsystem beeinflusste später Go und Rust. Gegenüber dem pragmatischen Turbo Pascal setzt Oberon auf radikale Einfachheit, während der GW-BASIC-Interpreter eine ganz andere, zeilennummernbasierte Welt repräsentiert.