Jump to content

Oberon: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
 
(5 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.


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.
Line 12: Line 12:
==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 38: Line 26:


==Articles==
==Articles==
* [[XDS Oberon]] by [[Paul Floyd]] (May 1999)
* [[A Discussion of Oberon]] by Paul Floyd (Aug 1998)
* [[A Discussion of Oberon]] by Paul Floyd (Aug 1998)


Line 54: Line 41:
* [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]


* 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] - Introductory 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 on Top of Another]
* Michael Franz: [https://pdfs.semanticscholar.org/68c3/9912294de44359c1affeb5fcc8b71247dc32.pdf Emulating an Operating System on Top of Another]
Line 60: Line 47:
==Links==
==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://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
* [http://pascal.hansotten.com Pascal for small machines] - Pascal and Oberon related blog



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