Oberon (programming language): Difference between revisions

Content deleted Content added
Current Zonnon status
"non-optimizing Oberon compilers for the Motorola 68020, for the Sun SPARC and for the DEC MIPS architectures generated code that was as efficient as the code generated by the standard C compiler with the optimization option switched on (cc -O)"
Line 32:
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 SYSTEM 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 adequate code quality comparedcomparable 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>
 
==Characteristics==