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!
{{Short description|General-purpose programming language}} {{External links|date=November 2024}} {{Use dmy dates|date=January 2021}} {{Other uses|Oberon (disambiguation)}} {{Infobox programming language | name = Oberon | logo = Oberon programming language logo.svg | paradigms = [[Imperative programming|Imperative]], [[Structured programming|structured]], [[Modular programming|modular]], [[Object-oriented programming|object-oriented]] | family = [[Niklaus Wirth|Wirth]] Oberon | designer = {{wikidata|property|edit|P287}} | developer = {{wikidata|property|edit|P178}} | released = {{Start date and age|{{wikidata|property|P571}}}} | latest release version = Oberon-07 | latest release date = {{Start date and age|2020|03|06|df=yes}} | typing = [[Strong and weak typing|Strong]], hybrid ([[Static typing|static]] and [[Dynamic typing|dynamic]]) | scope = [[Scope (computer science)|Lexical]] | programming language = | platform = [[ARM architecture|ARM]], [[StrongARM]]; [[IA-32]], [[x86-64]]; [[SPARC]], [[Ceres (workstation)|Ceres]] ([[NS32000|NS32032]]) | operating system = [[Microsoft Windows|Windows]], [[Linux]], [[Oracle Solaris|Solaris]], [[classic Mac OS]], [[Atari TOS]], [[AmigaOS]] | license = | file ext = | file format = <!-- or: | file formats = --> | website = {{URL|{{wikidata|property|P856}}}} | implementations = | dialects = | influenced by = [[Modula-2]] | influenced = [[Oberon-2]], [[#Oberon-07|Oberon-07]], [[Active Oberon]], [[Component Pascal]], [[Zonnon]], [[Go (programming language)|Go]], [[V (programming language)|V (Vlang)]], [[Nim (programming language)|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 (programming language)|Euler]], [[ALGOL W]], [[Pascal (programming language)|Pascal]], [[Modula]], and [[Modula-2]]).<ref name=ETH>{{Cite report |last=Wirth |first=Niklaus |title=From Modula to Oberon and the programming language Oberon |series=ETH Technical Reports D-INFK |year=1987 |volume=Band 82 |publisher=Wiley |doi=10.3929/ethz-a-005363226 |url=https://doi.org/10.3929/ethz-a-005363226}}</ref><ref name=PLO>{{Cite journal |last=Wirth |first=Niklaus |date=July 1988 |title=The Programming Language Oberon |journal=Software: Practice and Experience |volume=18 |issue=7 |pages=661โ670|doi=10.1002/spe.4380180707}}</ref><ref name=M2O>{{Cite journal |last=Wirth |first=Niklaus |date=July 1988 |title=From Modula to Oberon |journal=Software: Practice and Experience |volume=18 |issue=7 |pages=671โ690|doi=10.1002/spe.4380180706 |s2cid=13092279}}</ref><ref name=TE>{{Cite journal |last=Wirth |first=Niklaus |date=April 1988 |title=Type Extensions |journal=ACM Transactions on Programming Languages |volume=10 |issue=2 |pages=204โ214|doi=10.1145/42190.46167 |s2cid=15829497 |doi-access=free}}</ref> Oberon was the result of a concentrated effort to increase the power of [[Modula-2]], the direct successor of [[Pascal (programming language)|Pascal]], and simultaneously to reduce its complexity. Its principal new feature is the concept of [[data type]] extension of [[Record (computer science)|record]] types.<ref>{{Cite magazine |last=Pountain |first=D. March 1991 |title=Modula's Children, Part II: Oberon |url=https://archive.org/stream/byte-magazine-1991-03/1991_03_BYTE_16-03_Network_Management#page/n187/ |magazine=[[Byte (magazine)|Byte]] |volume=16 |issue=3 |pages=135โ142}}</ref> 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 (operating system)|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 (moon)|Oberon]], and because Oberon is famous as the king of the elves.<ref>{{Cite web |last1=Wirth |first1=Niklaus |last2=Gutknecht |first2=Jรผrg |author-link=Jรผrg Gutknecht |date=1987โ2021 |url=https://people.inf.ethz.ch/wirth/ProjectOberon/PO.System.pdf |title=Project Oberon}}</ref> Oberon was maintained by Wirth and the latest Project Oberon compiler update is dated 6 March 2020.<ref>{{cite web |last=Wirth |first=Niklaus |title=Oberon Change Log |url=https://www.inf.ethz.ch/personal/wirth/news.txt |publisher=ETH Zurich |access-date=16 January 2021}}</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)