home *** CD-ROM | disk | FTP | other *** search
- 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
-