Oberon programming language

related topics
{math, number, function}
{system, computer, user}
{language, word, form}
{theory, work, human}
{style, bgcolor, rowspan}
{car, race, vehicle}

Oberon is a programming language created in 1986 by Professor Niklaus Wirth (creator of the Pascal, Modula, and Modula-2 programming languages) and his associates at ETH Zurich in Switzerland. It was developed as part of the implementation of the Oberon operating system. The original intention was to use Modula-2 as the implementation language but it lacked the required safe type-extension facilities. Also, it was planned to eventually publish the full details of the operating system and compiler so that they could be studied and understood. These factors led to the decision to design a new language which concentrated on just the essential features necessary for the task in hand. The name is from the moon of Uranus, Oberon[1].

Oberon is very much like Modula-2 in its syntax, but is considerably smaller. Oberon's feature simplicity leads to considerable space and coding efficiency for its compilers. The full language can be specified in a page of EBNF. The Oberon report is, at 16 pages, about a third of the size of the Modula-2 report, and one of the early full compilers was only about 4000 lines long. Unlike Modula-2, it has garbage collection.

Oberon was designed for Oberon operating system which ran on the Ceres workstation (built around the National Semiconductor 32032 CPU) and the Chameleon workstation. The Oberon language (and later, Oberon-2) has now been ported to many other operating systems, including the Java platform, where Oberon source code compiles to source code in Java, or to bytecode for a Java virtual machine. The Oberon operating system is also available for several hardware platforms other than the original workstation.

Contents

Full article ▸

related documents
Accumulator (computing)
Client-side scripting
PureBasic
Wikipedia:Federal Standard 1037C terms/computer programming terms
Pliant
Denormalization
Occam (programming language)
Erlang unit
Abstract machine
Hello world program
Server-side scripting
Initialization vector
AutoLISP
Serial number
Code coverage
LZ77 and LZ78
IBM 1620 Model I
Wikipedia:Browser notes
Java applet
Wikipedia:Database queries
Bourne shell
Pentium FDIV bug
Code
World file
Remote procedure call
True BASIC
Adding machine
Third-order intercept point
Additive synthesis
Wikipedia:Free On-line Dictionary of Computing/I - K