Oberon (programming language)

Oberon
ParadigmsImperative, structured, modular, object-oriented
FamilyWirth Oberon
Designed byNiklaus Wirth Edit this on Wikidata
DeveloperNiklaus Wirth Edit this on Wikidata
First appeared1987; 37 years ago (1987)
Stable release
Oberon-07 / 6 March 2020; 4 years ago (2020-03-06)
Typing disciplineStrong, hybrid (static and dynamic)
ScopeLexical
PlatformARM, StrongARM; IA-32, x86-64; SPARC, Ceres (NS32032)
OSWindows, Linux, Solaris, classic Mac OS, Atari TOS, AmigaOS
Websiteprojectoberon.net
Influenced by
Modula-2
Influenced
Oberon-2, Oberon-07, Active Oberon, Component Pascal, Zonnon, Go, V (Vlang), Nim

Oberon is a general-purpose programming language first published in 1987 by Niklaus Wirth and the latest member of the Wirthian family of ALGOL-like languages (Euler, ALGOL W, Pascal, Modula, and Modula-2).[1][2][3][4] Oberon was the result of a concentrated effort to increase the power of Modula-2, the direct successor of Pascal, and simultaneously to reduce its complexity. Its principal new feature is the concept of data type extension of record types.[5] It permits constructing new data types on the basis of existing ones and to relate them, deviating from the dogma of strict static typing of data. Type extension is Wirth's way of inheritance reflecting the viewpoint of the parent site. Oberon was developed as part of the implementation of an operating system, also named Oberon at ETH Zurich in Switzerland. The name was inspired both by the Voyager space probe's pictures of the moon of the planet Uranus, named Oberon, and because Oberon is famous as the king of the elves.[6]

Oberon was maintained by Wirth and the latest Project Oberon compiler update is dated 6 March 2020.[7]

  1. ^ Wirth, Niklaus (1987). From Modula to Oberon and the programming language Oberon (Report). ETH Technical Reports D-INFK. Vol. Band 82. Wiley. doi:10.3929/ethz-a-005363226.
  2. ^ Wirth, Niklaus (July 1988). "The Programming Language Oberon". Software: Practice and Experience. 18 (7): 661–670. doi:10.1002/spe.4380180707.
  3. ^ Wirth, Niklaus (July 1988). "From Modula to Oberon". Software: Practice and Experience. 18 (7): 671–690. doi:10.1002/spe.4380180706. S2CID 13092279.
  4. ^ Wirth, Niklaus (April 1988). "Type Extensions". ACM Transactions on Programming Languages. 10 (2): 204–214. doi:10.1145/42190.46167. S2CID 15829497.
  5. ^ Pountain, D. March 1991. "Modula's Children, Part II: Oberon". Byte. Vol. 16, no. 3. pp. 135–142.{{cite magazine}}: CS1 maint: numeric names: authors list (link)
  6. ^ Wirth, Niklaus; Gutknecht, Jürg (1987–2021). "Project Oberon" (PDF).
  7. ^ Wirth, Niklaus. "Oberon Change Log". ETH Zurich. Retrieved 16 January 2021.