Oberon is a general-purpose, imperative, modular, structured and object-oriented programming language that was heavily influenced by the Modula-2 language, the direct successor to the Pascal programming language. Oberon was created in 1986 by Prof. Niklaus Wirth as a result of the concentrated effort to increase the power and performance of Modula-2 by reducing complexity. The principal feature of the language is the concept of type extension of record types.
Oberon is a programming language in the Pascal Modula-2 family, which was designed with Einstein's motto in mind: Make it as simple as possible, but not simpler. What this essentially means is that the major guideline for designing the language was to concentrate on adding basic essential features and to omit anything unnecessary. This results in a programming language that is rich with features but is very simple to learn and apply.
Oberon makes a lot of changes from its source material in Modula-2. For example, it emphasizes the use of library concepts to extend the language and does away with enumeration and subrange types; set types were limited and some low-level facilities were drastically reduced or completely removed such as type transfer functions. And in order to make the language safer, watertight type checking, strict index checking and nil-pointer checking at run-time, and safe type concepts were introduced.
The Oberon language offers the following features: