Oberon
Oberon is a structured object oriented and procedural language in the Algol family that was introduced by Niklaus Wirth in 1988 alongside an operating system with the same name.
It was based on his earlier Modula 2 language but adds limited object-orientation but at the same time removes a lot of the M2 Language features in order to simplify the language and compiler.
There are descendant languages that some classify as Oberon and others as members of the Oberon family, we include the few implementations that actually run under OS/2 in some form here just to simplify things, it is not a taxidermy issue.
Oberon/0 is a simplified version of the language intended to be used in teaching compiler construction, it is therefore as much a descendant of PL/0 (simplified Pascal) as of Oberon proper and you are not meant to download a copy, but rather make one yourself.
Oberon07 is simply a name for the latest version of the Oberon standard and does not differ too much from the original, the last update to the Oberon 07 standard was in the summer of 2014.
Contents
Implementations
OS/2 implementations
- Canterbury Modula 2 & Oberon-2 - Discontinued
- ETH Oberon System - Discontinued. Note that this is not just the compiler but the entire Oberon OS as a layer on top of OS/2.
- Gardens Point Oberon-2 was available in both Commercial and Open Source variants.
- HOPE - Internal OS2TOOLS release - but appears never to have seen the light of day.
- XDS-x86 Modula 2 - Discontinued
- Editor support
- Enhanced Editor - Has syntax highlighting and some formatting features available as a separate download.
DOS implementations
- Gardens Point Oberon-2 was available in both Commercial and Open Source variants.
- XDS-x86 Modula 2 - Discontinued
Win-OS/2 Implementations
- BlackBox Oberon - Current Oberon Core version does not work, older versions however do work with Win32s installed.
- Programmers Open Workbench - Aka POW!/16 - Open source - Discontinued
Java
- Canterbury Oberon-2 for Java - Commercial - Discontinued
- JOB - Open source - Discontinued
JavaScript
- OberonScript - Can be run inside a web browser or by using the JavaScript Desktop Enabler.
- Microsoft Oberon Script - Older version of the above, code appears to have gone missing.
Articles
- XDS Oberon by Paul Floyd (May 1999)
- A Description of the Oberon-2 Language by Paul Floyd (Aug 1998)
- A Discussion of Oberon by Paul Floyd (Aug 1998)
Publications
- Niklaus Wirth: The Programming Language Oberon (1990)
- Jürg Gutknecht & Niklaus Wirth: Project Oberon; The Design of an Operating System and Compiler Updated version from 2005
- Jürg Gutknecht & Niklaus Wirth: Project Oberon; The Design of an Operating System and Compiler Updated version from 2013 (Not as well formatted as the earlier version)
- Niklaus Wirth: From Modula to Oberon
- Niklaus Wirth: Modula-2 and Oberon - Historical overview
- Jürg Gutknecht & Michael Franz: Oberon with Gadgets - A Simple Component Framework
- Jürg Gutknecht: Oberon, Gadgets and Some Archetypal Aspects of Persistent Objects
- J. Marais: Design and Implementation of a Component Architecture for Oberon ETH Zürich 1996.
- André Fischer & Hannes Marais:The Oberon Companion: A Guide to Using and Programming Oberon System 3 - 1997
- Günther Sawitzki: Extensible Statistical Software: On a Voyage to Oberon
- Archive of old Oberon Newsletter issues
- Oberon - An introduction to Oberon in Japanese.
- Josef Templ: The Oberon Programming Language: The new Pascal - Introductory article.
- Peter H. Fröhlich, Michael Franz: Stand-Alone Messages: A Step Towards Component-Oriented Programming Languages
- Michael Franz: Emulating an Operating System on Top of Another
Links
- The MODulator - Modula-2 and Oberon articles from the gents behind the ModulaWare company in Switzerland, used to be a paper newsletter back in the day.
- Oberon2.ru - Massive Russian site dedicated to all things Wirthian, forum in particular strong.
- Pascal for small machines - Pascal and Oberon related blog
- Standards
- Oberon 07 Language Report - Summer 2014 edition.