Oberon Language

A programming language developed by NiklausWirth and JuergGutknecht at ETH Z├╝rich starting 1985.



It is sort of like a refactoring of ModulaThree.

Hmm, I would not say so, AFAIK ModulaThree was designed in parallel to Oberon, and both are offshoots of ModulaTwo. The genealogy of Oberon and its successors is nicely given in http://www.oberon.ethz.ch/genealogy.html.

Apparently, it was a rewrite of Xerox's Cedar programming environment. Wirth and Gutknecht spent some time at XeroxParc and decided that the system was far too large. One of their targets was that Oberon should compile Oberon in less than a minute (on a 386 in those days).

Actually, the first Oberon machine was the Ceres-1, which was based on the National Semiconductor NS32032 (roughly equivalent to a 12MHz 286 in performance). If I remember correctly, the Ceres-1 I used during a three-week visit to ETH in early 1989 had 2Mb of memory, a 40Mb hard disk, 720k floppy, mouse, and a 1024x800 monochrome display. And yes, compilations were instantaneous. It was a beautiful system to work with. -- StefanVorkoetter

This will certainly work. On ETH, we used quite old Ceres-3, which included the OberonOperatingSystem. I used it quite a lot in my studies, and while my programs were not huge, some of them had quite a few lines of code. However, I never noticed compilation take any time. It was always instant.
Code example:

We sum the contents in an array:

  MODULE Example;

PROCEDURE ArraySum*(r: ARRAY OF INTEGER): INTEGER; VAR sum: INTEGER; i: INTEGER; BEGIN sum := 0; FOR i := 0 TO LEN(r) - 1 DO sum := sum + r[i] END; RETURN sum END ArraySum; END Example.

The star in the procedure declaration is similar to the Java keyword public.

For more information see also: http://www.oberon.ethz.ch/ or any of the "Oberon Trilogy" books which are all three out of print:

  1. Reiser & Wirth (1992) "Programming in Oberon - Steps beyond Pascal and Modula" ISBN 0-201-56543-9

  2. Reiser (1991) "The Oberon System: User Guide and Programmer's Manual" ISBN 0-201-54422-9

  3. Wirth & Gutknecht: "Project Oberon: The Design of an Operating System and Compiler" (1992) ISBN 0-201-54428-8


View edit of April 2, 2008 or FindPage with title or text search