Jump to content

Oberon: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:OberonLogo.png|right]]
[[Image:OberonLogo.png|right]]
Oberon is a structured object oriented and procedural language in the [[Algol]] family that was introduced by Niklaus Wirth in 1988 alongside an operating system with the same name.
Oberon is a structured object-oriented and procedural language in the [[Algol]] family that was introduced by [[Niklaus Wirth]] in 1988 alongside an operating system with the same name.


It was based on his earlier [[Modula 2]] language but adds limited object-orientation but at the same time removes a lot of the M2 Language features in order to simplify the language and compiler.
It was based on his earlier [[Modula-2]] language but adds limited object-orientation, but at the same time removes a lot of the M2 Language features in order to simplify the language and compiler.


There are descendant languages that some classify as Oberon and others as members of the Oberon family, we include the few implementations that actually run under OS/2 in some form here just to simplify things, it is not a taxidermy issue.
There are descendant languages that some classify as Oberon and others as members of the Oberon family, we include the few implementations that actually run under OS/2 in some form here just to simplify things, it is not a taxidermy issue.


'''Oberon/0''' is a simplified version of the language intended to be used in teaching compiler construction, it is therefore as much a descendant of PL/0 (simplified Pascal) as of Oberon proper and you are not meant to download a copy, but rather make one yourself.
'''Oberon/0''' is a simplified version of the language intended to be used in teaching compiler construction, it is therefore as much a descendant of PL/0 (simplified Pascal) as of Oberon proper, and you are not meant to download a copy, but rather make one yourself.
 
''Blackbox Oberon'' runs fine under [[Odin]], older versions actually work in Win-OS/2 with [[Win32s]] installed. Blackbox Oberon used to be called Oberon/F.


Oberon07 is simply a name for the latest version of the Oberon standard and does not differ too much from the original, the last update to the Oberon 07 standard was in the summer of 2014.
Oberon07 is simply a name for the latest version of the Oberon standard and does not differ too much from the original, the last update to the Oberon 07 standard was in the summer of 2014.
'''Mona''' was a minor variation of Oberon that sported recursive data types, Mona author Martin Odersky went on to write [[Scala]] which sports recursive data types.


==Implementations==
==Implementations==
===OS/2 implementations===
===OS/2 implementations===
*[[Canterbury Modula 2 - Oberon-2|Canterbury Modula 2 & Oberon-2]] - Discontinued
*[[ETH Oberon System]] - Note that this is not just the compiler, but the entire Oberon OS as a layer on top of OS/2.
*[[ETH Oberon System]] - Discontinued. Note that this is not just the compiler but the entire Oberon OS as a layer on top of OS/2.
*[[Gardens Point Oberon-2]] was available in both Commercial and Open Source variants.
*[[HOPE]] - Internal OS2TOOLS release - but appears never to have seen the light of day.
*[[XDS-x86 Modula 2]] - Discontinued


;Editor support
;Editor support
* [[Enhanced Editor]] - Has syntax highlighting and some formatting features available as a [[Adding syntax highlighting to EPM|separate download]].
* [[Enhanced Editor]] - Has syntax highlighting and some formatting features available as a [[Adding syntax highlighting to EPM|separate download]].
===DOS implementations===
*[[Gardens Point Oberon-2]] was available in both Commercial and Open Source variants.
*[[XDS-x86 Modula 2]] - Discontinued


===Win-OS/2 Implementations===
===Win-OS/2 Implementations===
* BlackBox Oberon - Current Oberon Core version does not work, older versions however do work with Win32s installed.
* BlackBox Oberon - Current Oberon Core version does not work, older versions however do work with Win32s installed.
* [[Programmers Open Workbench]] - Aka POW!/16 - Open source - Discontinued
* [[Programmers Open Workbench]] - Aka POW!/16 - Open source
 
===Java===
* [[Canterbury Oberon-2 for Java]] - Commercial - Discontinued
* [http://www.uni-vologda.ac.ru/JOB/ JOB] - Open source - Discontinued


===JavaScript===
===JavaScript===
Line 42: Line 26:


==Articles==
==Articles==
* [[XDS Oberon]] by [[Paul Floyd]] (May 1999)
* [[A Description of the Oberon-2 Language]] by Paul Floyd (Aug 1998)
* [[A Discussion of Oberon]] by Paul Floyd (Aug 1998)
* [[A Discussion of Oberon]] by Paul Floyd (Aug 1998)
==Links==
* [http://www.modulaware.com/mdltr_.htm The MODulator] - Modula-2 and Oberon articles from the gents behind the ModulaWare company in Switzerland, used to be a paper newsletter back in the day.
* [http://zx.oberon2.ru Oberon2.ru] - Massive Russian site dedicated to all things Wirthian, forum in particular strong.
* [http://pascal.hansotten.com Pascal for small machines] - Pascal and Oberon related blog


==Publications==
==Publications==
* [http://www.oberon.ethz.ch/bibliography/publications Oberon bibliography] From ETH Switzerland.
* Niklaus Wirth: [http://www.inf.ethz.ch/personal/wirth/Oberon/Oberon.Report.pdf The Programming Language Oberon] (1990)
* Niklaus Wirth: [http://www.inf.ethz.ch/personal/wirth/ProgInOberon.pdf Programming in Oberon] Updated version from 2004
* Niklaus Wirth: [http://www.inf.ethz.ch/personal/wirth/Oberon/Oberon.Report.pdf The Programming Language Oberon]
* Jürg Gutknecht & Niklaus Wirth: [http://www.inf.ethz.ch/personal/wirth/ProjectOberon1992.pdf Project Oberon; The Design of an Operating System and Compiler] Updated version from 2005
* Jürg Gutknecht & Niklaus Wirth: [http://www.inf.ethz.ch/personal/wirth/ProjectOberon1992.pdf Project Oberon; The Design of an Operating System and Compiler] Updated version from 2005
* Jürg Gutknecht & Niklaus Wirth: [http://www-oldurls.inf.ethz.ch/personal/wirth/ProjectOberon/ Project Oberon; The Design of an Operating System and Compiler] Updated version from 2013 (Not as well formatted as the earlier version)
* Jürg Gutknecht & Niklaus Wirth: [http://www-oldurls.inf.ethz.ch/personal/wirth/ProjectOberon/ Project Oberon; The Design of an Operating System and Compiler] Updated version from 2013 (Not as well formatted as the earlier version)
Line 65: Line 40:
* Günther Sawitzki: [http://www.statlab.uni-heidelberg.de/reports/by.series/report.06.pdf Extensible Statistical Software: On a Voyage to Oberon]
* Günther Sawitzki: [http://www.statlab.uni-heidelberg.de/reports/by.series/report.06.pdf Extensible Statistical Software: On a Voyage to Oberon]
* [ftp://ftp.ethoberon.ethz.ch/Oberon/Newsletter/ Archive of old Oberon Newsletter issues]
* [ftp://ftp.ethoberon.ethz.ch/Oberon/Newsletter/ Archive of old Oberon Newsletter issues]
* [http://www.cilsv.com/oberon.html Oberon] - An introduction to Oberon in Japanese.


* Josef Templ: [http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/1994/9415/9415i/9415i.htm The Oberon Programming Language: The new Pascal] - Introductionary article.
* Josef Templ: ''The Oberon Programming Language: The new Pascal'' - Introductory article
* Peter H. Fröhlich, Michael Franz: [http://gaming.jhu.edu/~phf/pub/jmlc-2000.pdf Stand-Alone Messages: A Step Towards Component-Oriented Programming Languages]
* Peter H. Fröhlich, Michael Franz: [http://gaming.jhu.edu/~phf/pub/jmlc-2000.pdf Stand-Alone Messages: A Step Towards Component-Oriented Programming Languages]
* Michael Franz: [https://pdfs.semanticscholar.org/68c3/9912294de44359c1affeb5fcc8b71247dc32.pdf Emulating an Operating System
* Michael Franz: [https://pdfs.semanticscholar.org/68c3/9912294de44359c1affeb5fcc8b71247dc32.pdf Emulating an Operating System on Top of Another]
on Top of Another]
* Cuno Pfister: [http://www.nt.ntnu.no/users/haugwarb/Programming/Oberon/oberon_vs_java.html Brief comparison of Component Pascal and Java]


;Mona
==Links==
* Martin Odersky: ''Recursive data types and a report on the Mona notation of algorithms'' - 1989 [ftp://ftp.inf.ethz.ch/doc/tech-reports/1xx/102.pdf PDF]
* [http://www.modulaware.com/mdltr_.htm The MODulator] - Modula-2 and Oberon articles from the gents behind the ModulaWare company in Switzerland, used to be a paper newsletter back in the day.
* [http://pascal.hansotten.com Pascal for small machines] - Pascal and Oberon related blog


==Standards==
;Standards
* [http://www.inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report.pdf Oberon 07 Language Report] - Summer 2014 edition.
* [http://www.inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report.pdf Oberon 07 Language Report] - Summer 2014 edition.


[[Category:Programming Languages]][[Category:Oberon]]
[[Category:Programming Languages]][[Category:Oberon]]

Latest revision as of 01:46, 2 June 2023

Oberon is a structured object-oriented and procedural language in the Algol family that was introduced by Niklaus Wirth in 1988 alongside an operating system with the same name.

It was based on his earlier Modula-2 language but adds limited object-orientation, but at the same time removes a lot of the M2 Language features in order to simplify the language and compiler.

There are descendant languages that some classify as Oberon and others as members of the Oberon family, we include the few implementations that actually run under OS/2 in some form here just to simplify things, it is not a taxidermy issue.

Oberon/0 is a simplified version of the language intended to be used in teaching compiler construction, it is therefore as much a descendant of PL/0 (simplified Pascal) as of Oberon proper, and you are not meant to download a copy, but rather make one yourself.

Oberon07 is simply a name for the latest version of the Oberon standard and does not differ too much from the original, the last update to the Oberon 07 standard was in the summer of 2014.

Implementations

OS/2 implementations

  • ETH Oberon System - Note that this is not just the compiler, but the entire Oberon OS as a layer on top of OS/2.
Editor support

Win-OS/2 Implementations

  • BlackBox Oberon - Current Oberon Core version does not work, older versions however do work with Win32s installed.
  • Programmers Open Workbench - Aka POW!/16 - Open source

JavaScript

  • OberonScript - Can be run inside a web browser or by using the JavaScript Desktop Enabler.
  • Microsoft Oberon Script - Older version of the above, code appears to have gone missing.

Articles

Publications

Links

  • The MODulator - Modula-2 and Oberon articles from the gents behind the ModulaWare company in Switzerland, used to be a paper newsletter back in the day.
  • Pascal for small machines - Pascal and Oberon related blog
Standards