Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Oberon (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Design== Oberon is designed with a motto attributed to [[Albert Einstein]] in mind: "Make things as simple as possible, but not simpler." The principal guideline was to concentrate on features that are basic and essential and to omit ephemeral issues. Another factor was recognition of the growth of complexity in languages such as [[C++]] and [[Ada (programming language)|Ada]]. In contrast to these, Oberon emphasizes the use of the [[Library (computing)|library]] concept to extend the language. Enumeration and subrange types, which were present in Modula-2, were omitted, and set types are limited to sets of integers. All imported items must be qualified by the name of the module where they are declared. Low-level facilities are highlighted by only allowing them to be used in a module which includes the identifier <code>SYSTEM</code> in its import list. Strict [[type checking]], even across modules, and [[index checking]] at [[Runtime (program lifecycle phase)|runtime]], [[null pointer]] checking, and the safe type extension concept largely allow programming to rely on the language rules alone. The intent of this strategy was to produce a language that is easier to learn, simpler to implement, and very efficient. Oberon compilers have been viewed as compact and fast, while providing code quality comparable to commercial compilers.<ref>{{Cite web |last=Mössenböck |first=Hanspeter |title=Compiler Construction: The Art of Niklaus Wirth |url=https://ssw.jku.at/Research/Papers/Moe00b.pdf |access-date=28 May 2025}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)