Another of the ALGOL family of languages, Oberon is a general-purpose programming language created by Niklaus Wirth in 1986.
Actually, Oberon was designed to serve as an implementation tool for the Oberon system, which was an efficient, concise operating system founded, by Wirth, on object-oriented programming. While visiting the Xerox Palo Also Research Center, Wirth, along with J. Gutknecht, decided to design and implement a new operating system, and to design it from scratch. In particular, it was to be a powerful system for personal workstations, as Wirth believed other existing operating systems were unnecessarily bulky.
The Oberon language was designed to be part of that system. However, it was not tied to the operating system. Compilers can be provided for machines running on a variety of operating systems.
Oberon is a descendant in the family of languages whose root is Algol 60, and whose other members include Pascal, Modula-2, and Euler, each of which Wirth played a key role in designing. Wirth was also the chief designer of Algol W, a successor of Algol 60.
Oberon was influenced largely by Modula-2. In creating the new language, a design goal was the provision of data type extensibility on the basis of data type and procedure. Wirth decided to accomplish this through a new language rather than implementing the features he was looking for in Modula-2 because he believed that the latter language had become too large. Another goal was to produce a language that was easy to learn, simpler to implement, and efficient.
Oberon continues to be maintained and regularly updated by Wirth, and ETH Zurich.
Free implementations of the Oberon language and operating system are available, some from ETH itself.
Also designed by Wirth, Oberon-2 is an extension of the original Oberon language, and currently, the Oberon implementation most used. Oberon-2 adds limited reflection and object-oriented programming facilities, open arrays as pointer base types, and read-only field export. It also reintroduces the FOR loop from Modula-2. Developed at ETH Zurich in 1991, it is a superset of Oberon, and fully compatible with it.
Oberon-2 compilers from ETH include versions for Linux, macOS, Microsoft Windows, and Solaris. There are implementations for Atari-TOS and AmigaOS. The Oxford Oberon-2 compiler understands Oberon-07 and Vishap Oberon.
In 2007, Wirth based Oberon-07 on the original version of Oberon rather than on Oberon-2. Compilers for several computer systems have been developed for Oberon-07.
Another variant of Oberon is Active Oberon, which ETH Zurich has released for the Bluebottle operating system, which was developed at ETH Zurich.
Other closely related languages include Component Pascal, a minor variant and refinement of Oberon-2 that offers a more expressive type system and built-in string support. Developed for Windows and classic Mac OS by Oberon Microsystems, Component Pascal was originally named Oberon/L. First released as Seneca, Oberon-V is a variant of Oberon designed for numerical applications on supercomputers.
Oberon, and any of its variants or implementations, compilers, editors, or tools designed to facilitate programming in the language, are the focus for this category. Oberon user groups, forums, tutorials, or guides are also appropriate resources.
 
 
Recommended Resources
Astrobe is a complete integrated embedded software rapid development system that runs on a Windows platform and includes a full-featured programming editor, native code compiler, linker and builder, program uploader, and a serial terminal. Using the most recent version of the Oberon programming language, Astrobe allows users to develop high-level and low-level 32-bit native code embedded software without the quirks associated with C. Starter, personal, and professional editions are available.
https://www.astrobe.com/
CFB Software: Component Pascal
Component Pascal (CP) is a superset of the Oberon-2 programming language, the successor of Pascal and Modula-2. Major available languages include the BlackBox Component Builder from Oberon Microsystems, and Gardens Point Component Pascal developed at the Queensland University of Technology. Downloads of both of these, including the source codes, are available, and links to the download sites are given, along with other Oberon-2 resources.
https://www.cfbsoftware.com/gpcp/
ETH: Oberon Community Platform
Hosted by ETH Zurich, the site is intended for users and developers of the Oberon family of systems and languages, known as the Oberon Community, offering a venue where information can be found and exchanged. Included is an Oberon Wiki, which may be edited by anyone, as well as a repository of Oberon code, an Oberon mailing list, and bug tracking tool, and an online discussion forum, for which anyone may register for an account. Guidelines are posted to the site.
http://www.ocp.inf.ethz.ch/wiki/
GitHub: Nickelsworth Oberon Compiler/Transpiler
Hosted on GitHub, and made available for free under the MIT/X11 License, NOCT is a transpiler that translates Oberon-07 code to other programming languages, such as Java or Pascal, the bulk of the activity being performed by the target compilers. The site presents an overview of Oberon-07 and NOCT, including requirements, project status, and development notes. NOCT packages are available for download, along with supporting documentation.
https://github.com/nickelsworth/noct/
Oberonc is a single-pass, self-hosting compiler for the Oberon-07 programming language. Targeting the Java Virtual Machine, the compiler is compact and does not depend on any third-party libraries, producing Java byte code in one pass while parsing the source file. Distributed under the MIT License, the compiler and supporting files may be freely downloaded from the site. Contributors to the file repository are acknowledged, and instructions are posted on the site.
https://github.com/lboasso/oberonc/
The Oberon-07 compiler translates Oberon-07 to JavaScript code, ready to be run in a web browser. The compiler itself was written in Oberon, with extensions, and compiled to JavaScript, and supports both pure and plus extensions mode, pure being a strict implementation of the original Oberon language report, while extensions are available as a separate compiler mode. Distributed under an MIT License, the compiler and supporting files and documentation may be downloaded from the site.
https://github.com/vladfolts/oberonjs/
Released under the GNU General Public License, while its libraries are covered under the Mozilla Public License, OBNC is a compiler for the Oberon programming language, implementing the most recent version of the language. The compiler translates code written in Oberon to the lower-level C programming language. The translated code is then compiled and linked, using the C compiler and linker of the host operating system. It is available for download.
https://miasap.se/obnc/
As part of a discussion Wiki for Computer Science students at the University of Oxford, the informational page discusses the Oxford Oberon-2 compiler. Oberon is often the second language taught to undergraduate students, after Haskell, but the language was thought to be old-fashioned in some ways. At Oxford, a portable compiler was created to translate Oberon-2 into bytecode, which could then be either interpreted or dynamically translated into machine code. It is available for download.
http://spivey.oriel.ox.ac.uk/corner/Oxford_Oberon-2_compiler
Designed by Niklaus Wirth and Jurg Gutknecht, Project Oberon involved the design of an operating system, a compiler, and a computer, largely from sources provided by those who were most closely involved, Wirth and Gutknecht. Links to the original material is provided here, along with local zipped copies that are available for download. Included resources are sorted into three sections, covering the Oberon system, applications, and the RISC computer.
http://www.projectoberon.com/
Resource for the Oberon-07 Language
Maintained by David Egan Evans, the site offers a profile of the language, links to informational pages and other resources for Oberon-07 compilers, the official EBNF of the Oberon Report, including the Project Oberon 2013 change to CASE as a type guard for RECORD extension, and recommendations for programming language textbooks by Professor Wirth, some in PDF format and available online. Answers to frequently asked questions (FAQs) related to the language are included.
http://oberon07.com/
VO is a collection of classes written in the Oberon-2 programming language which were designed to allow application developers to build graphical user interfaces for programs written in Oberon-2. Distributed under the GNU General Public License, VisualOberon is a library, not a programming language or an integrated development environment, although it can form the basis for and IDE. Its design criteria and features are discussed, along with code examples and screenshots.
http://visualoberon.sourceforge.net/
The Oberon programming language was developed by Niklaus Wirth at ETH Zurich, in conjunction with an equally named operating system. The Ulm Oberon System consists of Oberon compilers for multiple platforms, including related tools, and the Ulm Oberon Library, which is described and made available here under the terms of the General Public License and the Library General Public License, respectively. Related papers, theses, and language reports are included.
http://www.mathematik.uni-ulm.de/oberon/