Last edited on 20th April, 2004 gs
. - Host home page: StatLab
Oberon is the name of a modern integrated software environment
for single-user workstations. It includes a language in the Pascal-/
Modula-tradition and a highly effective and compact operating platform.
Most Oberon implementations come with a tutorial. For general information
on Oberon see
If you want information about the Oberon language, we can offer an "Introduction
For local students, see also: next
The Oberon language comes in two variants, the original Oberon language,
and Oberon-2, an extension which allows type-bound procedures. Object oriented
programming is supported by Oberon as well as by Oberon-2. Oberon-2 has
some additional convenience for object oriented programming, but with some
cost in terms of performance and flexibility. For a discussion of object
oriented Oberon-2 type bound programming style versus "classical" Oberon
style, see [Marais 1996a]. As of today (Oct.
98) most Oberon compilers support Oberon-2.
Access to Oberon
At present, Oberon comes in four variants. These are available from
the "official" ftp site for the Oberon distribution
Each of the Oberon versions comes with additional information.
Unfortunatly this information may be hidden, apocryphal or worse (e.g. information about how to install software which you can read after you have installed the software successfully). We are providing installation information which was helpful to us. This may be outdated the time you read it. But if it is still helpful to you, we are happy. Comments/corrections are welcome.
Main Implementation Families
See also the Oberon genealogy.
A once experimental variant of Oberon, which has taken most of the impetus.
System 3 adds support for persistent Objects on the system level, and gives
a graphical interface using Gadgets. At present, this is our most recommeded
version of Oberon for serious development.
This is the most recent version of the classical Oberon system documented
in [Reiser 1991] and [Wirth
& Gutknecht 1992]. If you see Oberon without special name tag,
it is most probably Oberon version 4. Although System 3 has taken most
of the impetus, you will find various experimental developments and new
possibilities in V4 which are not available in other variants.
A "black box" programming framework based on Oberon. Oberon/F is a commercial
product, but an educational version is available. Oberon/F uses Windows
or Macintosh interface conventions. Oberon/F is a convenient entry point
if you come to Oberon from a Windows or Macintosh environment and want
to keep your preferences. You should however be warned that Oberon/F is
neither compatible with System 3 or V4, and by now is abandoned in favour
of a new product of the same company, called BlackBox.
If you want to use Oberon only for the advantages of the Oberon language,
you can use an Oberon compiler for the operating system of your choice.
A series of compilers is available, using Oberon in a classical (e.g. UNIX)
Ported versions of the Oberon language and system are now available
for numerous commercial machines.
Items not to miss
Download information is available fromETH Zürich.
Looking at other recent or past developments, you may want to make sure that you have an open connection to other languages or programming enviornments. Here are some links:
If you cannot avoid C, use o2c,
its successor OOC, or Ofront
to convert Oberon to C.
- If you prefer somthing fresh instead of cold
coffee, use Juice
instead of Java. Juice plug-ins are also
mirrored here. Some versions of Netscape or Internet Explorer may or may not be able to cope with it. Juice is an experimental technology demonstration.
- If you are bound to deliver Java byte code, you can use JOB to compile Oberon to Java Virtual Machine byte code.
- To convert Oberon to Java source code, you can use the Canterbury Oberon-2 for Java.
This is not a comprehensive list. Use the "official" Oberon home page http://www.oberon.ethz.ch/ for access to more information.
For a guide to System 3 with gadgets, see
André Fischer, Hannes Marais: The Oberon Companion .
- A Guide
to Using and Programming Oberon System 3 vdf Hochschulverlag AG an
der ETH Zürich 1998. ISBN 3-7281-2493-1. 336 pages, format 17 x 24
cm, hard cover, CD included.
Reiser, M.: The Oberon System. Reading:
Wirth, N.; Gutknecht, J.: Project Oberon.
Reading: Addison-Wesley 1992
To learn about the Oberon programming language, consult
Reiser, M.; Wirth, N.: Programming in Oberon. Reading: Addison-Wesley
dt: M. Reiser, N. Wirth: Programmieren in Oberon. Addison-Wesley
1994, ISBN 3-89319-657-9
J. Marais: Design
and Implementation of a Component Architecture for Oberon ETH Zürich
Object-oriented programming using Oberon-2 type bound programming style
versus "classical" Oberon style is discussed in-depth in
J. Marais: (1996a) Extensible Software Systems
in Oberon, Journal of Computational and Graphical Statistics, Vol
We have selected Oberon as our main development environment.
a portable data analysis system based on Oberon.
More Oberon related sites
Again inclusion/non-inclusion in this list is only controlled by our local needs. For more general access, contact the Oberon web ring.
Comp.lang.oberon discussion list.
ETH home page for System 3.
commercial providers of the Oberon/F framework.
The Ulm Oberon System for Sun 3.
(Programmers Open Workbench) is an integrated development environment for
Oberon-2, running on Win3.1x, Win95 and NT 4.0.