Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
A
B
C
D
E
F
G
H
I
JK
L
M
N
O
P
QR
S
T
UV
WXYZ+
Get a full dump of the dictionary:
List of Names
Short Form
Full Form
-
Oberon
- Language type:
- Description:
Oberon is a procedural, block-structured
language with many object-oriented features.
It was designed for computer science
education, but is also suitable for
general-purpose
application programming.
Oberon has a Pascal-like syntax, but its
semantics are richer than Pascal's.
An Oberon system
consists of the Oberon language compiler
along with a comprehensive operating
environment.
The Oberon language offers the following
features: strong type checking,
separately compilable modules, type
extension and type-bound functions for OOP,
run-time type identification, dynamic
memory management with garbage collection,
regular complement of numeric, string,
and array data types, and dynamic module
loading. Oberon, like Pascal, enforces
the rule that every thing must be declared
before it is used.
There are some features of other
object-oriented languages that Oberon
does not offer: operator overloading,
multiple inheritance, abstract interfaces,
and reflection.
Several versions of the Oberon system
and language exist. Oberon V4 (System 2)
is the
classic, text-based system.
Oberon System 3 is the newer, GUI
system with advanced OOP features like
persistence and generic message passing.
Oberon/F is a version of the language
for embedded systems and other 'black-box'
applications.
Implementations of the ETH free
Oberon system
are available for some Unix systems,
Linux, PCs, and Macintosh.
Commercial versions of Oberon also
exist.
- Origin:
Wirth and Gutknecht, ETH Zurich, 1985-88.
- See Also:
- Remarks:
The Oberon language and system are
designed to be compact, efficient, and
highly productive. In terms of
compactness, the entire Oberon
distribution with compiler and
libraries and operating environment
fits onto 7 floppy disks.
While Oberon has a community in the US,
it seems to be more popular in Europe.
The Juice plug-in for running web
applets in Oberon is available at the
Juice link below. It claims to be
faster than Java.
- Links:
-
-
-
-
- Date:
- Sample code:
(* Oberon module to read in numbers *)
(* average them. *)
MODULE Stats;
IMPORT Texts, Oberon;
TYPE
Stat* = POINTER TO StatRec;
StatRec *= RECORD
count: LONGINT;
total: REAL;
END;
PROCEDURE (s: Stat) Add* (REAL val);
VAR this: Stat;
BEGIN this := s;
this.total := this.total + val;
this.count := this.count + 1;
END Add;
PROCEDURE (s: Stat) Reset*;
VAR this: Stat;
BEGIN this := s;
this.total := 0.0;
this.count := 0;
END Reset;
PROCEDURE (s: Stat) IsValid*: BOOLEAN;
VAR this: Stat;
BEGIN this := s;
RETURN (this.count > 0);
END Reset;
PROCEDURE (s: Stat) Average*: REAL;
VAR this: Stat;
BEGIN this := s;
IF this.IsValid^() THEN
RETURN 0.0
ELSE
RETURN (this.total / this.count)
END Average;
END Stats;
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is ziring@home.com
[Ziring MicroWeb Home]
[Dictionary Start]
[Sign Guestbook]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.