Oberon (programming language): Difference between revisions

Content deleted Content added
OAbot (talk | contribs)
m Open access bot: doi added to citation with #oabot.
Oberon features both high and low-level programming features.
Line 30:
 
==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; similarly, and set types have beenare limited to small sets of integers,. andAll imported items must be qualified by the numbername of low-levelthe facilitiesmodule haswhere beenthey sharplyare reduceddeclared. (especially,Low-level typefacilities transferare functionshighlighted wereby omitted).only Omittingallowing thethem remainingto potentiallybe unsafeused facilitiesin concludesa themodule mostwhich essentialincludes stepthe towardidentifier obtainingSYSTEM ain trulyits [[high-levelimport programming language]]list. Very closeStrict [[type checking]], even across modules, strictand [[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 adequate code quality compared to commercial compilers.<ref>{{cite web |last=Mössenböck |first=Hanspeter |title=Compiler Construction: The Art of Niklaus Wirth |url=ftp://ftp.ssw.uni-linz.ac.at/pub/Papers/Moe00b.pdf |publisher=Johannes Kepler University}}</ref>