Oberon (programming language)

[1][2][3][4] Oberon was the result of a concentrated effort to increase the power of Modula-2, the direct successor of Pascal, and simultaneously to reduce its complexity.

[7] Oberon is designed with a motto attributed to Albert Einstein in mind: "Make things as simple as possible, but not simpler."

The principal guideline was to concentrate on features that are basic and essential and to omit ephemeral issues.

Low-level facilities are highlighted by only allowing them to be used in a module which includes the identifier SYSTEM in its import list.

The intent of this strategy was to produce a language that is easier to learn, simpler to implement, and very efficient.

In the Oberon operating system, two programming techniques are used together for the dispatch call: Method suite and Message handler.

One release, named Native Oberon which includes an operating system, and can directly boot on IBM PC compatible class hardware.

Oberon-2 compilers developed by ETH include versions for Microsoft Windows, Linux, Solaris, and classic Mac OS.

Implementations from other sources exist for some other operating systems, including Atari TOS and AmigaOS.

There is an Oberon-2 Lex scanner and Yacc parser by Stephen J Bevan of Manchester University, UK, based on the one in the Mössenböck and Wirth reference.

Wirth's compiler targets a reduced instruction set computer (RISC) processor of his own design that was used to implement the 2013 version of the Project Oberon operating system on a Xilinx field-programmable gate array (FPGA) Spartan-3 board.

As of 2003, supported central processing units (CPUs) include single and dual core x86, and StrongARM.

CP was developed for Windows and classic Mac OS by Oberon microsystems, a commercial spin-off company from ETHZ, and for .NET by Queensland University of Technology.

This includes the features of Oberon and restores some from Pascal (enumerated types, built-in IO) but has some syntactic differences.