Home >> Computers >> Programming >> Languages >> Oberon


  Articles
Books
  Comparison and Review
Compilers
  Documentation
Software

  Component Pascal
  Lagoona
   

  Modula-2
  Modula-3
   


Oberon occurs as reflective programming language created in the late 1980s by Professor Niklaus Wirth (creator of the Pascal, Modula, and Modula-2 programming languages) and his associates at ETHZ in Switzerland. A title is from either a moon of Uranus, Oberon.

Oberon is as well, somewhat bewilderingly, a title of the Oberon operating system, written in Oberon, for a Ceres workstation (built in the National Semiconductor 32032 CPU) and for the Chameleon workstation. Oberon, a language, has at present been ported to numerous more operating systems, & is possibly available for the Java platform, where Oberon source code compiles to source code around Java, or even to bytecode for a Java virtual machine. A Oberon operating patterns is likewise available for many more devices platforms than a original workstation.

A project continued a Wirth tradition/strategy of attempting to simplify without loss of power. Oberon can be thought of as a Modula-Two by using to the full object oriented class/object capabilities, though not exactly around C++ or Smalltalk style. Then agawithin, Oberon omits variant records, when these currently may be implemented supplementary safely utilizing nature & severity extension, & more features like enumeration types & subrange types, noticed in older Wirthian languages and elsewhere.

Oberon is a good deal Modula-2 like in its syntax, however offers many interesting features. Possibly a first is 'nature and severity extension' by which virtually all of the reuseability of object classes is made available. What is more, 'binding to the nature and severity' is involved, which ties what would around Smalltalk exist as known as 'methods' to the nature and severity (explorer, class), with a effect existence object orientation. When by owning more modern programing language, garbage collection is an inherent part of the language. Procedures come likewise cleanly exportable.

Oberon's feature simplicity leads to considerable space & ignore efficiency for its compilers, when little provision is required for features non involved. the to the full language may be specified around something rather a site of EBNF, a Oberon report is, at Xvi web sites, all astir 1/3 a size of the Modula-Two report, & one of the early fully compilers was about 4000 lines hanker. Additionally, compiler output is besides little & sooner, probably likewise due to decreased feature complexness. Entire Web browsers written around Oberin stand healthy on one floppy disk.

Design goals
Oberon is designed to become the 'safe' language; it employs array bounds checking, trash pickup & heavy nature and severity checking. These features, particularly ones which enable logic errors to exist when found when early as imaginable (we.e. at compile-period), may significantly reduce a total of bugs occurring in the program at runtime. All the same, a few features involved around more languages inside an attempt to reduce bugs (e.g. enumerations & programmer-defined ranges in whole number), were omitted. Consequently, additional care should become taken per software engineer, while working by using numeral expressions, to make sure your not logic errors.

Oberon was designed to produce mistakes harder around section by making code less unintelligible, & around a portion because features non involved can't exist as lost. This approach may be taken possibly farther, when around APL, which is both exceptionally curt & notable for existence to a lesser degree easily to realize, however Oberon was deliberately constructed to does'nt ended simplify.

When this is an intent whose profits can't become easy quantified, there remains a bit of disagreement that Oberon has achieved its designed goals in that respect. A single objection to its strategy of language project simplification was expressed by Jean Ichbiah, the designer of Ada when Wirth criticized Ada for being as well large; he responded "There are times when Wirth believes in small solutions for big problems. I don't believe in that sort of miracle. Big problems need big solutions!" Oberon developers keep close at hand possibly felt that Oberon (version Unity) went as well far in that respect -- Oberon Ii returned a 'FOR' statement thereto version of the language.

It can be argued that failure to include a feature may inflict a coder to reimplement the feature around his code, leading to multiple 'wheel reinvention' & resulting problems. Libraries might mitigate this -- some -- profits based on the feature & the language's refined apply of such libraries. Java is an example of the comparatively elementary language (though far less and so than Oberon) embedded within heavy standard libraries. (Oberon has the tremendously little standard library than Java.) As much of a effort of learning any language is learning the standard libraries, Ichibah's objection above may be extended to a strategy of simplification by moving features from either the core language into standard libraries. Wirth, & Oberon fans, argue that Oberon has basically, & profits, avoided this condition.

Available implementations & further language variants
There come no-prices implementations of Oberon (a language) & Oberon (a operating formulas) may be obtained using your internet browser (many are from either ETHZ itself). Two or three changes were mass produced to a foremost discharged specification (the 'FOR' loop was reinstated, e.g.); a symptom was Oberon 2, currently a usual implementation. There exists too the .NET version in development for those interested in Microsoft's vision. There is a release known as Native Oberon. When it includes an operating models, it could directly boot in PC class devices.

Development has continued in languges in that personal. The farther extension of Oberon Deuce produced Component Pascal, currently supported by the commercial company spun off from either ETHZ. Additionally, a Lagoona and Obliq languages carry the Oberon spirit into specialised areas. ETHZ has freed Active Oberon which supports active objects, and a Bluebottle operating system and environment (JDK, HTTP, FTP, etc) for the language. When by having numbers of anterior designs from either ETHZ, versions of two come available for download using your internet browser. When this is written, two only & dual x86 CPUs and a StrongARM family are supported.

Oberin-V (originally known as Seneca) occurs as descendent of Oberon designed for even numerical applications on supercomputers, especially vector or pipelined architectures. It includes array builder & an 100% statement. (Understand "Seneca - A Language for Numerical Applications on Vectorcomputers", Proc CONPAR 90 - VAPP IV Conf. R. Griesemer, Diss Nr. 10277, ETH Zurich.)

ETH Oberon
Home site. Niklaus Wirth invented Pascal, Modula, then Oberon language in Pascal/Modula tradition, and a modern, integrated, effective, compact, operating system for one-user workstations. Descriptions, papers, documents, downloads, links. [Open Source]

System Software Group
This group at the university of Linz offers lots of public domain packages for the Oberon System V4, as well as they continue to maintain this Oberon System variant.

Oberon Webring
Webring related to Oberon programming language or system environment.

Cetus Links: Oberon
Many links about Oberon, Oberon-, and Component Pascal.

Oberon Microsystems, Inc.
Leading component-based software architecture firm: architecture consulting, software products, custom development, education. Prof. Niklaus Wirth of ETH Zürich is board member.

Hello, World program
simple example Oberon program.

The Alignment Trap
Oberon (Oberon-2 focus) information, compiler and system implementation table, AlphaOberon-2 compiler user guide (64-bit, for HP OpenVMS Alpha), comparisons, downloads, links.

Oberon Page for Small Linux
Beginners Oberon Page, with examples, sample code, tutorials and links.

VisualOberon
Very nice GUI library for Optimizing Oberon Compiler (OOC) to make platform independent graphic programs using set of standard and advanced controls, advanced layout engine. Runs on all Unix systems with X Window. [Open Source, LGPL]

Linz University Oberon Research Projects
The Oberon System (V4) links at Linz University.


Computers: Programming: Languages: Compiled: Object-Oriented
Computers: Programming: Languages: Garbage Collected: Object-Oriented
Computers: Programming: Languages: Language-OS Hybrids
Computers: Programming: Languages: Object-Oriented: Class-based
Computers: Programming: Languages: Open Source
Computers: Programming: Languages: Wirth
Computers: Software: Operating Systems: Extensible
Computers: Software: Operating Systems: Object-Oriented
Computers: Software: Operating Systems: Open Source
Computers: Software: Operating Systems: Reflective
Computers: Software: Operating Systems: Single Address Space
Computers: Software: Operating Systems: Submicrokernel




© 2005 GeneralAnswers.org