home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso
/
answers
/
Oberon-FAQ
< prev
next >
Wrap
Text File
|
1993-11-05
|
13KB
|
372 lines
Newsgroups: comp.lang.oberon,comp.answers,news.answers
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!pipex!uunet!psgrain!m2xenix!mikeg
From: mikeg@psg.com (Mike Gallo)
Subject: Comp.lang.oberon FAQ (monthly)
Expires: Wed, 1 Dec 1993 08:00:00 GMT
Reply-To: mikeg@psg.com
Organization: PSGnet, Portland Oregon US
Date: Fri, 5 Nov 1993 07:38:17 GMT
Approved: news-answers-request@MIT.Edu
Message-ID: <1993Nov5.073817.10696@psg.com>
Followup-To: comp.lang.oberon
Summary: This posting contains a list of Frequently Asked Questions
(and their answers) about Oberon. It should be read by anyone
who wishes to post to the Comp.lang.oberon newsgroup.
Lines: 354
Xref: senator-bedfellow.mit.edu comp.lang.oberon:1193 comp.answers:2523 news.answers:14324
Archive-name: Oberon-FAQ
(* * * * * * * * * * * * * * * * * * * * * *)
Many FAQ lists, including this one, are available by anonymous
ftp from rtfm.mit.edu in the /pub/usenet directory.
Thanks to all who have contributed! Further additions,
corrections, and suggestions are welcome.
mikeg@psg.com
(* * * * * * * * * * * * * * * * * * * * * *)
Comp.lang.oberon Frequently Asked Questions
Copyright 1993 Mike Gallo
(c) 1993 Mike Gallo
$ Contents
This document is organized into the following eleven sections.
Each section is preceded by a dollar sign.
Contents
What is Comp.lang.oberon?
What is Oberon?
The programming language Oberon
The programming language Oberon-2
The "Oberon family" of languages
The Oberon system
Oberon system 3
Gadgets
For more information on Oberon
To get an implementation
$ What is Comp.lang.oberon?
The Comp.lang.oberon newsgroup is a forum for discussing
Oberon, both the programming language and the operating system, and
any related issues. Although not strictly accurate, this newsgroup
is part of the Comp.lang.* hierarchy because it began as a spin-off
of Comp.lang.modula2.
Comp.lang.oberon owes its existence to the efforts of the late
Christian Schaepper.
$ What is Oberon?
From "The Oberon Guide"
Oberon is simultaneously the name of a project and of its
outcome. The project was started by Niklaus Wirth and [Jrg
Gutknecht] late in 1985 with the goal of developing a modern
and portable operating system for personal workstations. Its
results are an implementation of the system for the Ceres
computer and a programming language.
The development of the language Oberon needs perhaps a
short justification. It became quite inevitable because the
type-system of available languages turned out to be too
restrictive to express the desired data model in a natural and
safe way.
$ The programming language Oberon
From "From Modula to Oberon"
The programming language Oberon is the result of a
concentrated effort to increase the power of Modula-2 and
simultaneously to reduce its complexity. Several features were
eliminated, and a few were added in order to increase the
expressive power and flexibility of the language. This paper
describes and motivates the changes. The language is defined
in a concise report.
Whereas modern languages, such as Modula, support the
notion of extensibility in the procedural realm, the notion is
less well established in the domain of data types. In
particular, Modula does not allow the definition of new data
types as extensions of other, programmer-defined types in an
adequate manner. An additional feature was called for, thereby
giving rise to an extension of Modula.
. . . .
The evolution of a new language that is smaller, yet more
powerful than its ancestor is contrary to common practices and
trends, but has inestimable advantages. Apart from simpler
compilers, it results in a concise defining document, an
indispensible prerequisite for any tool that must serve in the
construction of sophisticated and reliable systems.
The major addition to Oberon is the concept of type extension
(i.e., inheritance) for record types. Among the eliminations are
variant records, opaque types, enumeration types, subrange types,
the basic type CARDINAL, local modules, and the WITH statement.
$ The programming language Oberon-2
From "Differences between Oberon and Oberon-2"
Oberon-2 is a true extension of Oberon. . . .
One important goal for Oberon-2 was to make
object-oriented programming easier without sacrificing the
conceptual simplicity of Oberon. After three years of using
Oberon and its experimental offspring Object Oberon we merged
our experiences into a single refined version of Oberon.
The new features of Oberon-2 are type-bound procedures
[virtual methods], read-only export of variables and record
fields, open arrays as pointer base types, and a with
statement with variants. The for statement is reintroduced
after having been eliminated in the step from Modula-2 to
Oberon.
$ The "Oberon family" of languages
Object Oberon is a now defunct, experimental extension of
Oberon featuring "classes", structures somewhere between modules
and records. It evolved into Oberon-2.
Seneca was also an experimental extension of Oberon. It
focused on numerical programming on vector computer architectures.
It evolved into Oberon-V.
Oberon-V is an experimental dialect (but not a superset) of
Oberon. It is concerned with issues of numerical computing, array
processing, and code verification. Since it was aimed at vector
architectures, particularly the Cray Y-MP, no Oberon-V compiler has
yet been implemented for the Oberon System.
$ The Oberon system
From "The Oberon Guide"
For the present, we focus on the system Oberon, beginning
with a brief overview of its design principles. The underlying
dynamic model is extremely simple. There exists a single
process acting as a common carrier of multiple tasks. This
process repetitively interprets commands, which are the
official entities of execution in Oberon. Commands are atomic
actions operating on the global state of the system. Unlike
customary interactive programs, they rigorously avoid direct
dialogs with the system user.
From "Oberon: A Glimpse at the Future"
The result is a system that provides efficiency and
reliability rather than offering inflated size, which
dramatically increases the probability of bugs and flaws.
What is most astonishing about Oberon is its smallness.
The core operating system -- including the Oberon compiler --
occupies only 131 KB, which is smaller than most [Microsoft]
Windows utilities.
$ Oberon system 3
From "Oberon System 3 -- A Realm of Persistent Objects"
We soon decided to realize our ideas by developing System
3, an evolutionary version of the original Oberon system. From
our vision and from examples like the one in Figure 1 it
followed immediately that System 3 needs to be settled one
important step beyond the ordinary state of object-oriented
programming because it needs to be able to manage hundreds or
even thousands of persistent objects and components that can
appear in extensive variety, including at least character
patterns, formulae, all kinds of figures, pictures, gadgets
and widgets. What was obviously needed is a central object
management and some concept like object library.
$ Gadgets
From "The Gadgets Guide"
Gadgets is a graphical user interface management system
for Oberon System 3. It consists of a set of end-user objects
for building graphical user interfaces. This construction
process is done at run-time, hence end-user objects. These
end-user objects are called gadgets. Gadgets may range from
buttons and checkboxes, to more complicated ones like text and
drawing editors. Not only do you have the possibility of using
applications that have been built with gadgets, but building
your own graphical user interfaces from the provided parts.
Also, should the provided gadgets not fulfill your needs, you
may program your own, either extending existing ones, or by
building completely new ones. You may also borrow parts from
other applications.
$ For more information
Any sources cited in this FAQ list that are not listed in the
following bibliography are available in PostScript format from ETH
by anonymous ftp from:
neptune.inf.ethz.ch:/Oberon, and
gatekeeper.dec.com:/pub/plan/Oberon (might not be up to date)
For technical reports of the Institut fr Computersysteme, ETH
Zrich, contact Mr. Ruettener (e-mail: ruettener@inf.ethz.ch).
Whitney de Vries (whitney@christie.Meakins.McGill.CA) has set
up an anonymous ftp server to handle Oberon sources. The machine
is oberon.meakins.mcgill.ca ( 132.206.169.3 ); the directory is
/u/ftp/pub/Oberon.
Another source of information is the Swiss Oberon Users Group
(CHOUG) at ETH Zrich (e-mail: oberon-user@inf.ethz.ch).
THE PROGRAMMING LANGUAGE
"Type Extensions" by N. Wirth
ACM Transactions on Programming Languages and Systems
10,2 (April 1988) 204-214.
"From Modula to Oberon" by N. Wirth
Software: Practice and Experience
18,7 (July 1988) 661-670
"The Programming Language Oberon" by N. Wirth
Software: Practice and Experience
18,7 (July 1988) 671-690
"Variations on the Role of Module Interfaces" by J. Gutknecht.
Structured Programming
10,1 (January 1989) 40-46
"Object Oberon -- A Modest Object-Oriented Language" by H.
Mssenbck and J. Templ
Structured Programming
10,4 (April 1989) 199-207
A New Approach to Formal Language Definition and Its Application to
Oberon by M. Odersky, Verlag der Fachvereine Zrich 1989; ISBN 3-
7281-1732-3
"Oberon" by Dick Pountain
BYTE
March 1991
"The Programming Language Oberon-2" by H. Mssenbck and N. Wirth
Structured Programming
12,4 (April 1991)
Programming in Oberon: Steps Beyond Pascal and Modula-2 by M.
Reiser and N. Wirth, ACM Press 1992; ISBN 0-201-56543-9
Object Oriented Programming in Oberon-2 by H. Mssenbck, Springer-
Verlag 1993; ISBN 3-540-56411-X
"A Programming Language for Vector Computers" by R. Griesemer
Diss. ETH #10277
1993
THE SYSTEM
"Designing a System from Scratch" by N. Wirth
Structured Programming
10,1 (January 1989) 10-18
"The Oberon System" by N. Wirth and J. Gutknecht
Software: Practice and Experience
19,9 (September 1989) 857-893
The Oberon System: User Guide and Programmer's Manual by M. Reiser,
ACM Press 1992; ISBN 0-201-54422-9
Project Oberon: The Design of an Operating System and Compiler by
N. Wirth and J. Gutknecht, ACM Press 1992; ISBN 0-201-54428-8
"Oberon: A Glimpse at the Future" by Dick Pountain
BYTE
May 1993
"Implementing an Operating System on Top of Another" by M. Franz
Software: Practice and Experience
23,6 (June 1993) 677-692
$ To get an implementation
Please note that mention of a product or company does not
necessarily imply a recommendation thereof.
The original project was launched and carried out by N. Wirth
and J. Gutknecht for the Ceres workstation. As of this writing,
ported versions of the Oberon language and system are available for
the Sun-SPARC, the Apple-Macintosh-II, the DECstation, the IBM
RS/6000, MS-DOS for Intel 386, and the Silicon Graphics Indigo.
Oberon System 3 has been ported to the Sun-SPARC and MS-DOS for
Intel 386. These are available by anonymous ftp from:
neptune.inf.ethz.ch:/Oberon, and
gatekeeper.dec.com:/pub/plan/Oberon (might not be up to date)
For Oberon compilers developed outside ETH contact
VAX/VMS:
ModulaWare GmbH, Wilhelmstr. 17A, D-91054 Erlangen/F.R.Germany
Modula-2 & Oberon-2 Compiler Manufactur
Tel. +49 (9131) 208395, Fax +49 (9131) 28205.
E-mail/Internet:
100023.2527@compuserve.com
g_dotzel@ame.nbg.sub.org
MS-DOS:
ModulaWare GmbH, Wilhelmstr. 17A, D-91054 Erlangen/F.R.Germany
OM2 32 Bit Oberon-2 and Modula-2 Compiler for PC/DOS '386/'486
native code for DOS with DPMI Driver/Host and for DOS sessions
under Windows 3.1 and OS/2 2.1
COP2 (partial Oberon to C translator)
contact Taylor Hutt, e-mail: thutt@clark.net
Oberon-M
contact E.Videki, e-mail: erv@k2.everest.tandem.com
Extacy
Real Time Associates Ltd.
Canning House, 59 Canning Road
Croydon, Surrey, CRO 6QF
England
Tel.: 0044-81-656 7333
Fax: 0044-81-655 0401
E-mail: 71333.2346@compuserve.com
rta@rtal.demon.co.uk
Amiga:
A+L AG
Daederiz 61
CH-2540 Grenchen
Tel.: +41 (65) 52 03 11
DECstation (Ultrix, OSF/1), Intel386 (SVR4, OS2, Solaris), Sparc
(Solaris)
Office of Commercial Services
Queensland University of Technology
GPO box 2434, Brisbane Q4001
Australia
Atari:
Martin Momberg
Hahlgartenstr. 13a
D-64331 Weiterstadt
Germany
E-Mail: Inet:momberg@dik.maschinenbau.th-darmstadt.de
anonymous ftp:
ftp.th-darmstadt.de
changing to directory /pub/machines/atari/programming/stoberon
--
Everything we do is futile, but we must do it anyway.
-- Mahatma Gandhi