ETH Oberon
Platform : Win 32, Unix like, Mac OSX, Other ..
License : Free
Appears in these categories : Compilable Languages
License : Free
Appears in these categories : Compilable Languages
Oberon is the name of a modern integrated software environment. It is a single-user, multi-tasking system that runs on bare hardware or on top of a host operating system. Oberon is also the name of a programming language in the Pascal/Modula tradition.
The Oberon language is the successor of Modula-2 in the Pascal family [RW92]. From Modula-2, Oberon inherits the following programming in-the-large concepts which are universally recognized as essential, namely:
abstraction (data structures and data types)
encapsulation (information hiding)
modularity (modules with type-checked interfaces and separate compilation)
strong typing (with support for run-time type test).
New concepts in Oberon include:
a simple and natural construct called type extension for the specialization of record types
polymorphism: extended types accepted at run time where ever objects of the corresponding base type are
fine-grained information hiding for data types
The primary merit of the language Oberon [Wir88] lies in the provision of data type extensibility as a multi-purpose construct. In combination with polymorphism and procedure variables it supports both heterogeneous data structures and object-oriented programming. As a consequence, no radical break with traditional programming technique is necessary even if an OOP style is used.
In comparison with typical terminology, classes correspond to record types, subclasses to extended record types, superclasses to base record types and objects to record instances. In its simplest form, a method corresponds to an installed procedure variable and a message-send to a call of an installed procedure variable. In contrast to class-centeredness of most OOP languages, Oberon uses an instance-centered OOP model.
Some of the characteristics of the compiler are:
very fast compilation
can compile directly from edit window
generates native or portable code, no separate linking necessary
The compiler can generate two types of object files: (a) classical native object files containing target machine code or (b) slim binaries. Slim binaries are a new form of object files that contain no object code at all, but a portable description of a module's content that makes these files completely independent of the eventual target machine (platform independence). Object code generation is carried out on-the-fly by the module loader (depending on the underlying hardware) and is as efficient as loading traditional object files.
The Oberon language is the successor of Modula-2 in the Pascal family [RW92]. From Modula-2, Oberon inherits the following programming in-the-large concepts which are universally recognized as essential, namely:
abstraction (data structures and data types)
encapsulation (information hiding)
modularity (modules with type-checked interfaces and separate compilation)
strong typing (with support for run-time type test).
New concepts in Oberon include:
a simple and natural construct called type extension for the specialization of record types
polymorphism: extended types accepted at run time where ever objects of the corresponding base type are
fine-grained information hiding for data types
The primary merit of the language Oberon [Wir88] lies in the provision of data type extensibility as a multi-purpose construct. In combination with polymorphism and procedure variables it supports both heterogeneous data structures and object-oriented programming. As a consequence, no radical break with traditional programming technique is necessary even if an OOP style is used.
In comparison with typical terminology, classes correspond to record types, subclasses to extended record types, superclasses to base record types and objects to record instances. In its simplest form, a method corresponds to an installed procedure variable and a message-send to a call of an installed procedure variable. In contrast to class-centeredness of most OOP languages, Oberon uses an instance-centered OOP model.
Some of the characteristics of the compiler are:
very fast compilation
can compile directly from edit window
generates native or portable code, no separate linking necessary
The compiler can generate two types of object files: (a) classical native object files containing target machine code or (b) slim binaries. Slim binaries are a new form of object files that contain no object code at all, but a portable description of a module's content that makes these files completely independent of the eventual target machine (platform independence). Object code generation is carried out on-the-fly by the module loader (depending on the underlying hardware) and is as efficient as loading traditional object files.
Comments
show/hide comment form
Share your thoughts about ETH Oberon . Have you used ETH Oberon ? How did it fare ? Would you recommend it ?
Keep it clean please.
Keep it related to this topic. The moderator may move the comment to another, more suitable topic .
Comments are passively moderated. ie, comments appear immediately, but will be reviewed and may be removed after moderation.
Keep it related to this topic. The moderator may move the comment to another, more suitable topic .
Comments are passively moderated. ie, comments appear immediately, but will be reviewed and may be removed after moderation.
Reference Links

Compilable Languages