Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Was ist Oberon?

2 views
Skip to first unread message

Virtual Kid

unread,
Jan 21, 2001, 6:11:02 PM1/21/01
to
hi,
ich bin durch Zufall auch diese NG gestossen!

Was ist Oberon? Ist eine Programmierssprache wie c++?

mfg
Jens


Luko Willms

unread,
Jan 22, 2001, 3:05:00 AM1/22/01
to
Am 22.01.01
schrieb virtu...@gmx.de (Virtual Kid)
auf /Z-NETZ/SPRACHEN/OBERON
in 94fq7f$bgi$00$1...@news.t-online.com
ueber Was ist Oberon?

VK>
VK> Was ist Oberon? Ist eine Programmierssprache wie c++?

Eine Programmiersprache, ja, aber eher ähnlich Modula-2 oder Pascal,
aber auch mit sogenannten objektorientierten Features wie C++.

Wie die beiden anderen genannten Programmiersprachen entstammt Oberon
aus der Arbeit von Nikolaus Wirth. Oberon ist in seinem Sprachumfang
noch karger als Pascal, noch mehr reduziert auf die Grundkonzepte der
Computerprogrammierung, soll aber leichter durch sich selbst erweiterbar
sein.

Ich füge hier einige Ausschnitte aus dem README file einer Oberon-
Implementierung für MS-DOS ein, der einiges zu der Sprache aussagt:

--------- schnipp -----------------------------------------

[...]

BACKGROUND

[...]

Oberon was invented by Niklaus Wirth at the Swiss
Federal Institute of Technology (ETH) in Zurich. Like
his earlier languages Pascal and Modula-2, Oberon is
intended for general purpose programming, often on
individual workstations. Most, if not all, of the
clumsiness that many people found in Pascal and Modula-2
is not present in Oberon. The general philosophy of
its construction is to keep important principles of the
computing environment present for the programmer to
take advantage of, while providing a structural- and
checking-mechanism that prevents inadvertent (even
disasterous) mistakes. Software development is some
of the most complex, detail-filled work performed by
the human race to date. Oberon is a tool by which the
power of the computer can be handled without the
bounds of human capability being taxed. Thus, Oberon
provides well-defined boundaries for modules, into
which complex computing tasks may be divided.

Additionally, Oberon provides a new facility, called
"type extension", which permits an existing application
to have new features and power added to it-- without
the old source code even having to be recompiled. Data
types ("records") may be extended by new data, with
additional handling routines implemented in new code.
The old source can still work with these new, extended,
data types, handling the older fields and operations
applicable to them, without knowing (or caring) that
new extended fields and operations are also present.

Object oriented facilities are also present in Oberon.
Data records may contain "methods" associated with them
so that the actual handling of information can be
linked directly with the object (record) itself.
Operations can be directed at the records themselves. When
new facilities are needed, new methods can be invoked
ahead of the existing operations performed by (or,
some say, on behalf of) the object. An application
may be written in Oberon to either look at data as it
relates to executable algorithms, or to look at the
algorithms as adjuncts to the data items themselves.

Additionally, references to items outside of a source
module are clearly made so that a human being can, just
by examining the source file, know exactly what imported
module's facility is being used for what. In general,
most Oberon programs can afford to be relatively short,
and few people ever need the aid of source-cross-reference
tools to figure out what's going on.

When a module is written, an indicator following an object's
name (an asterisk) tells the compiler that that object
is visible to other modules. Objects that are not
exported in this fashion remain hidden to clients of the
module. A very effective hierarchy of abstraction can
be thus established for very complicated computing tasks.
Many programmers will agree that the ability to look at
or modify items in another module, when those items were
not intended to be "proper" and "defined" for external use,
usually ends up causing debugging problems that are
difficult or impossible to trace when the application is
in use. A compiler's job, in the Oberon philosophy, is to
put the power of the machine in the programmer's hands, not
hiding when things can be more efficiently done by source
changes (versus compiler built-in decisions for a particular
code sequence), while still stopping accidental changes to
another module.

Many of the items which, over the years, have been
added to programming languages have been removed from Oberon.
Although we all have our favorite language construct, and
may complain when we don't find it in Oberon (even if it was
present in Pascal or Modula), most people quickly decide
they still prefer the clean, simpler approach to programming offered
by Oberon. Several years of very careful examination and
thought passed before items were removed from Pascal-Modula
to make Oberon. Very little needed to be added to that result
to gain type extension and Object Oriented facilities.

[...]


OTHER FILES SUPPLIED IN THIS PACKAGE


The compiler is supplied with a number of additional files
in this package.

Oberon Language Documentation:

obrept.ps - Niklaus Wirth's definition of the Oberon
language, which is supported by
this Oberon-M(tm) compiler.
obebnf.ps - The EBNF summary of the language

Note: these files must be downloaded to a
PostScript(tm) processing printer for
correct formatting.


obrept.asc - The language report in plain ASCII,
printable anywhere by everyone.


[...]


OTHER READING

You may find more information about Oberon in the
following articles:

N. Wirth "Type Extensions"
ACM Trans. on Prog. Languages and Systems
10,2 (April 1988) 204-214

N. Wirth "From Modula to Oberon"
Software- Practice and Experience 18,7
(July 1988) 661-670

N. Wirth "The Programming Language Oberon"
Software- Practice and Experience 18,7
(July 1988) 671-690
***Note: the updated report of the language
is included with this package and supercedes
this report*****

N. Wirth and J. Gutknecht
"The Oberon System"
Software- Practice and Experience 19
(September 1989) 857-893

[...]

HOW TO CONTACT THE AUTHOR
Please send e-mail to Internet address

e...@k2.everest.tandem.com
IP address 130.252.59.153

Written notes can be mailed to this address:
P. O. Box 58
Morgan Hill, California 95038
U.S.A.


-- E. R. Videki 24 August 1991

------------------ schnapp --------------------------------

Im Web findet man Info zu Oberon einmal natürlich bei der ETH Zürich,
unter:

http://www.oberon.ethz.ch

mit zahlreichen Verweisen auf Implementierungen und Dokumentation.

nützlich ist vielleicht auch noch die "Oberon Reference Site":

http://www.math.tau.ac.il/~guy/Oberon/


Ich hoffe, das war genug und nicht zuviel...

MfG,

Lüko Willms http://www.mlwerke.de
/--------- L.WI...@LINK-F.frankfurt.org -- Alle Rechte vorbehalten --

"Das Volk, das ein anderes Volk unterjocht, schmiedet seine eigenen
Ketten." - Karl Marx (1. Januar 1870)
## CrossPoint v3.30.018 R ##

Virtual Kid

unread,
Jan 24, 2001, 6:59:27 AM1/24/01
to
Danke!

klingt ziemlich interessant! Ich werde mir die entsprechenden Seiten einmal
anschauen!

mfg
Jens


Andreas Gumtow

unread,
Jan 24, 2001, 2:39:00 PM1/24/01
to
virtu...@gmx.de meinte am 24.01.01
zum Thema "Re: Was ist Oberon?":

>klingt ziemlich interessant! Ich werde mir die entsprechenden Seiten einmal
>anschauen!

Es gibt auch fuer Windows z.B. einen Oberon-2 Compiler namens "POW". Das
Paket sollte eigentlich zum reinschnuppern in jeder groesseren Bibliothek
Abt. Informatik/Programmiersprachen zu finden sein.

--
** Dipl.-Finw. (FH) A. Gumtow **

Luko Willms

unread,
Jan 26, 2001, 6:01:00 AM1/26/01
to
Am 24.01.01
schrieb a.gu...@vision.in-berlin.de (Andreas Gumtow)
auf /Z-NETZ/SPRACHEN/OBERON
in 7uTRp...@ag01.vision.IN-BERLIN.DE
ueber Re: Was ist Oberon?

AG> virtu...@gmx.de meinte am 24.01.01
AG> zum Thema "Re: Was ist Oberon?":

und der Adresse http://www.oberon.ethz.ch

>> klingt ziemlich interessant! Ich werde mir die entsprechenden Seiten
>> einmal anschauen!

AG> Es gibt auch fuer Windows z.B. einen Oberon-2 Compiler namens "POW".

Ich wollte noch zu einem Punkt was bemerken, der mir beim Schritt von
Pascal zu Oberon gefällt (oder gefallen würde):

Während ein IF-Statement in Pascal im THEN und im ELSE-Zweig jeweils
nur ein Statement aufnimmt, bei einer Folge von Statements diese also
immer als ein mit BEGIN und END eingeklammerter Block geschrieben werden
müssen, entfällt dies in Oberon.

In Oberon ist das hingegen so geregelt, daß jedes IF-Statement (und
CASE, und Schleifenanweisungen) implizit einen Block aufmachen und
explizit mit einem END-Statement abgeschlossen werden müssen.

Das ist einfacher zu schreiben und einfacher zu lesen.

Deswegen nochmal die Frage: hat irgendjemand mal daran gedacht, die im
Sourcecode vorhandenen Bibliotheken von Delphi z.B. nach Oberon zu
portieren? Fänd ich ne feine Sache...

MfG,
Lüko Willms http://www.mlwerke.de
/--------- L.WI...@LINK-F.frankfurt.org -- Alle Rechte vorbehalten --

"Die Arbeit in weißer Haut kann sich nicht dort emanzipieren, wo sie
in schwarzer Haut gebrandmarkt wird." - Karl Marx 12.11.1866

0 new messages