home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / answers / Oberon-FAQ < prev    next >
Text File  |  1993-11-05  |  13KB  |  372 lines

  1. Newsgroups: comp.lang.oberon,comp.answers,news.answers
  2. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!pipex!uunet!psgrain!m2xenix!mikeg
  3. From: mikeg@psg.com (Mike Gallo)
  4. Subject: Comp.lang.oberon FAQ (monthly)
  5. Expires: Wed, 1 Dec 1993 08:00:00 GMT
  6. Reply-To: mikeg@psg.com
  7. Organization: PSGnet, Portland Oregon US
  8. Date: Fri, 5 Nov 1993 07:38:17 GMT
  9. Approved: news-answers-request@MIT.Edu
  10. Message-ID: <1993Nov5.073817.10696@psg.com>
  11. Followup-To: comp.lang.oberon
  12. Summary: This posting contains a list of Frequently Asked Questions
  13.      (and their answers) about Oberon.  It should be read by anyone
  14.      who wishes to post to the Comp.lang.oberon newsgroup.
  15. Lines: 354
  16. Xref: senator-bedfellow.mit.edu comp.lang.oberon:1193 comp.answers:2523 news.answers:14324
  17.  
  18. Archive-name: Oberon-FAQ
  19.  
  20.      (*  * *  * *  * *  * *  * *  * *  * *  * *  * *  * *  *)
  21.  
  22.      Many FAQ lists, including this one, are available by anonymous
  23. ftp from rtfm.mit.edu in the /pub/usenet directory.  
  24.      Thanks to all who have contributed!  Further additions, 
  25. corrections, and suggestions are welcome.
  26.  
  27. mikeg@psg.com
  28.  
  29.      (*  * *  * *  * *  * *  * *  * *  * *  * *  * *  * *  *)
  30.  
  31. Comp.lang.oberon Frequently Asked Questions
  32.  
  33. Copyright 1993 Mike Gallo
  34. (c) 1993 Mike Gallo
  35.  
  36.  
  37. $  Contents
  38.  
  39.      This document is organized into the following eleven sections. 
  40. Each section is preceded by a dollar sign.
  41.  
  42.      Contents
  43.      What is Comp.lang.oberon?
  44.      What is Oberon?
  45.  
  46.      The programming language Oberon 
  47.      The programming language Oberon-2
  48.      The "Oberon family" of languages
  49.  
  50.      The Oberon system
  51.      Oberon system 3
  52.      Gadgets
  53.  
  54.      For more information on Oberon 
  55.      To get an implementation
  56.  
  57.  
  58. $  What is Comp.lang.oberon?
  59.  
  60.      The Comp.lang.oberon newsgroup is a forum for discussing
  61. Oberon, both the programming language and the operating system, and
  62. any related issues.  Although not strictly accurate, this newsgroup
  63. is part of the Comp.lang.* hierarchy because it began as a spin-off
  64. of Comp.lang.modula2.
  65.      Comp.lang.oberon owes its existence to the efforts of the late
  66. Christian Schaepper.
  67.  
  68.  
  69. $  What is Oberon?
  70.  
  71. From "The Oberon Guide"
  72.  
  73.           Oberon is simultaneously the name of a project and of its
  74.      outcome. The project was started by Niklaus Wirth and [Jrg
  75.      Gutknecht] late in 1985 with the goal of developing a modern
  76.      and portable operating system for personal workstations. Its
  77.      results are an implementation of the system for the Ceres
  78.      computer and a programming language.
  79.           The development of the language Oberon needs perhaps a
  80.      short justification. It became quite inevitable because the
  81.      type-system of available languages turned out to be too
  82.      restrictive to express the desired data model in a natural and
  83.      safe way.
  84.  
  85.  
  86. $  The programming language Oberon 
  87.  
  88. From "From Modula to Oberon"
  89.  
  90.           The programming language Oberon is the result of a
  91.      concentrated effort to increase the power of Modula-2 and
  92.      simultaneously to reduce its complexity. Several features were
  93.      eliminated, and a few were added in order to increase the
  94.      expressive power and flexibility of the language. This paper
  95.      describes and motivates the changes. The language is defined
  96.      in a concise report.
  97.           Whereas modern languages, such as Modula, support the
  98.      notion of extensibility in the procedural realm, the notion is
  99.      less well established in the domain of data types. In
  100.      particular, Modula does not allow the definition of new data
  101.      types as extensions of other, programmer-defined types in an
  102.      adequate manner. An additional feature was called for, thereby
  103.      giving rise to an extension of Modula.
  104.           . . . .
  105.           The evolution of a new language that is smaller, yet more
  106.      powerful than its ancestor is contrary to common practices and
  107.      trends, but has inestimable advantages. Apart from simpler
  108.      compilers, it results in a concise defining document, an
  109.      indispensible prerequisite for any tool that must serve in the
  110.      construction of sophisticated and reliable systems.
  111.  
  112.      The major addition to Oberon is the concept of type extension
  113. (i.e., inheritance) for record types.  Among the eliminations are
  114. variant records, opaque types, enumeration types, subrange types,
  115. the basic type CARDINAL, local modules, and the WITH statement.
  116.  
  117.  
  118. $  The programming language Oberon-2
  119.  
  120. From "Differences between Oberon and Oberon-2"
  121.  
  122.           Oberon-2 is a true extension of Oberon. . . .
  123.           One important goal for Oberon-2 was to make
  124.      object-oriented programming easier without sacrificing the
  125.      conceptual simplicity of Oberon. After three years of using
  126.      Oberon and its experimental offspring Object Oberon we merged
  127.      our experiences into a single refined version of Oberon.
  128.           The new features of Oberon-2 are type-bound procedures
  129.      [virtual methods], read-only export of variables and record
  130.      fields, open arrays as pointer base types, and a with
  131.      statement with variants. The for statement is reintroduced
  132.      after having been eliminated in the step from Modula-2 to
  133.      Oberon.
  134.  
  135.  
  136. $  The "Oberon family" of languages
  137.  
  138.      Object Oberon is a now defunct, experimental extension of
  139. Oberon featuring "classes", structures somewhere between modules
  140. and records.  It evolved into Oberon-2.
  141.      Seneca was also an experimental extension of Oberon.  It
  142. focused on numerical programming on vector computer architectures. 
  143. It evolved into Oberon-V.
  144.      Oberon-V is an experimental dialect (but not a superset) of
  145. Oberon.  It is concerned with issues of numerical computing, array
  146. processing, and code verification.  Since it was aimed at vector
  147. architectures, particularly the Cray Y-MP, no Oberon-V compiler has
  148. yet been implemented for the Oberon System.
  149.  
  150.  
  151. $  The Oberon system
  152.  
  153. From "The Oberon Guide"
  154.  
  155.           For the present, we focus on the system Oberon, beginning
  156.      with a brief overview of its design principles. The underlying
  157.      dynamic model is extremely simple. There exists a single
  158.      process acting as a common carrier of multiple tasks. This
  159.      process repetitively interprets commands, which are the
  160.      official entities of execution in Oberon. Commands are atomic
  161.      actions operating on the global state of the system. Unlike
  162.      customary interactive programs, they rigorously avoid direct
  163.      dialogs with the system user.
  164.  
  165. From "Oberon: A Glimpse at the Future"
  166.  
  167.           The result is a system that provides efficiency and
  168.      reliability rather than offering inflated size, which
  169.      dramatically increases the probability of bugs and flaws.
  170.           What is most astonishing about Oberon is its smallness. 
  171.      The core operating system -- including the Oberon compiler --
  172.      occupies only 131 KB, which is smaller than most [Microsoft]
  173.      Windows utilities.
  174.  
  175.  
  176. $  Oberon system 3
  177.  
  178. From "Oberon System 3 -- A Realm of Persistent Objects"
  179.  
  180.           We soon decided to realize our ideas by developing System
  181.      3, an evolutionary version of the original Oberon system. From
  182.      our vision and from examples like the one in Figure 1 it
  183.      followed immediately that System 3 needs to be settled one
  184.      important step beyond the ordinary state of object-oriented
  185.      programming because it needs to be able to manage hundreds or
  186.      even thousands of persistent objects and components that can
  187.      appear in extensive variety, including at least character
  188.      patterns, formulae, all kinds of figures, pictures, gadgets
  189.      and widgets. What was obviously needed is a central object
  190.      management and some concept like object library.
  191.  
  192.  
  193. $  Gadgets
  194.  
  195. From "The Gadgets Guide"
  196.  
  197.           Gadgets is a graphical user interface management system
  198.      for Oberon System 3. It consists of a set of end-user objects
  199.      for building graphical user interfaces. This construction
  200.      process is done at run-time, hence end-user objects. These
  201.      end-user objects are called gadgets. Gadgets may range from
  202.      buttons and checkboxes, to more complicated ones like text and
  203.      drawing editors. Not only do you have the possibility of using
  204.      applications that have been built with gadgets, but building
  205.      your own graphical user interfaces from the provided parts.
  206.      Also, should the provided gadgets not fulfill your needs, you
  207.      may program your own, either extending existing ones, or by
  208.      building completely new ones. You may also borrow parts from
  209.      other applications.
  210.  
  211.  
  212. $  For more information
  213.  
  214.      Any sources cited in this FAQ list that are not listed in the
  215. following bibliography are available in PostScript format from ETH
  216. by anonymous ftp from:
  217.  
  218.      neptune.inf.ethz.ch:/Oberon, and
  219.      gatekeeper.dec.com:/pub/plan/Oberon (might not be up to date)
  220.  
  221.      For technical reports of the Institut fr Computersysteme, ETH
  222. Zrich, contact Mr. Ruettener (e-mail: ruettener@inf.ethz.ch).
  223.      Whitney de Vries (whitney@christie.Meakins.McGill.CA) has set
  224. up an anonymous ftp server to handle Oberon sources.  The machine
  225. is oberon.meakins.mcgill.ca ( 132.206.169.3 ); the directory is
  226. /u/ftp/pub/Oberon.
  227.      Another source of information is the Swiss Oberon Users Group
  228. (CHOUG) at ETH Zrich (e-mail: oberon-user@inf.ethz.ch).
  229.  
  230.  
  231. THE PROGRAMMING LANGUAGE
  232.  
  233. "Type Extensions" by N. Wirth
  234. ACM Transactions on Programming Languages and Systems
  235. 10,2 (April 1988) 204-214.
  236.  
  237. "From Modula to Oberon" by N. Wirth
  238. Software: Practice and Experience
  239. 18,7 (July 1988) 661-670
  240.  
  241. "The Programming Language Oberon" by N. Wirth
  242. Software: Practice and Experience
  243. 18,7 (July 1988) 671-690
  244.  
  245. "Variations on the Role of Module Interfaces" by J. Gutknecht. 
  246. Structured Programming
  247. 10,1 (January 1989) 40-46
  248.  
  249. "Object Oberon -- A Modest Object-Oriented Language" by H.
  250. Mssenbck and J. Templ
  251. Structured Programming 
  252. 10,4 (April 1989) 199-207
  253.  
  254. A New Approach to Formal Language Definition and Its Application to
  255. Oberon by M. Odersky, Verlag der Fachvereine Zrich 1989; ISBN 3-
  256. 7281-1732-3
  257.  
  258. "Oberon" by Dick Pountain
  259. BYTE
  260. March 1991
  261.  
  262. "The Programming Language Oberon-2"  by H. Mssenbck and N. Wirth
  263. Structured Programming
  264. 12,4 (April 1991)
  265.  
  266. Programming in Oberon: Steps Beyond Pascal and Modula-2 by M.
  267. Reiser and N. Wirth, ACM Press 1992; ISBN 0-201-56543-9
  268.  
  269. Object Oriented Programming in Oberon-2 by H. Mssenbck, Springer-
  270. Verlag 1993; ISBN 3-540-56411-X
  271.  
  272. "A Programming Language for Vector Computers" by R. Griesemer
  273. Diss. ETH #10277
  274. 1993
  275.  
  276.  
  277. THE SYSTEM
  278.  
  279. "Designing a System from Scratch" by N. Wirth
  280. Structured Programming
  281. 10,1 (January 1989) 10-18
  282.  
  283. "The Oberon System" by N. Wirth and J. Gutknecht
  284. Software: Practice and Experience
  285. 19,9 (September 1989) 857-893
  286.  
  287. The Oberon System: User Guide and Programmer's Manual by M. Reiser,
  288. ACM Press 1992; ISBN 0-201-54422-9
  289.  
  290. Project Oberon: The Design of an Operating System and Compiler by
  291. N. Wirth and J. Gutknecht, ACM Press 1992; ISBN 0-201-54428-8
  292.  
  293. "Oberon: A Glimpse at the Future" by Dick Pountain
  294. BYTE
  295. May 1993
  296.  
  297. "Implementing an Operating System on Top of Another" by M. Franz
  298. Software: Practice and Experience
  299. 23,6 (June 1993) 677-692
  300.  
  301.  
  302. $  To get an implementation
  303.  
  304.      Please note that mention of a product or company does not
  305. necessarily imply a recommendation thereof.
  306.      The original project was launched and carried out by N. Wirth
  307. and J. Gutknecht for the Ceres workstation.  As of this writing,
  308. ported versions of the Oberon language and system are available for
  309. the Sun-SPARC, the Apple-Macintosh-II, the DECstation, the IBM
  310. RS/6000, MS-DOS for Intel 386, and the Silicon Graphics Indigo. 
  311. Oberon System 3 has been ported to the Sun-SPARC and MS-DOS for
  312. Intel 386.  These are available by anonymous ftp from:
  313.  
  314.      neptune.inf.ethz.ch:/Oberon, and
  315.      gatekeeper.dec.com:/pub/plan/Oberon (might not be up to date)
  316.  
  317. For Oberon compilers developed outside ETH contact
  318.  
  319. VAX/VMS:
  320.   ModulaWare GmbH, Wilhelmstr. 17A, D-91054 Erlangen/F.R.Germany
  321.   Modula-2 & Oberon-2 Compiler Manufactur
  322.   Tel. +49 (9131) 208395, Fax +49 (9131) 28205.
  323.   E-mail/Internet:
  324.     100023.2527@compuserve.com
  325.       g_dotzel@ame.nbg.sub.org
  326.  
  327. MS-DOS:
  328.   ModulaWare GmbH, Wilhelmstr. 17A, D-91054 Erlangen/F.R.Germany  
  329.   OM2 32 Bit Oberon-2 and Modula-2 Compiler for PC/DOS '386/'486  
  330.     native code for DOS with DPMI Driver/Host and for DOS sessions 
  331.     under Windows 3.1 and OS/2 2.1
  332.   COP2 (partial Oberon to C translator)
  333.     contact Taylor Hutt, e-mail: thutt@clark.net
  334.   Oberon-M
  335.     contact E.Videki, e-mail: erv@k2.everest.tandem.com
  336.   Extacy
  337.     Real Time Associates Ltd.
  338.     Canning House, 59 Canning Road
  339.     Croydon, Surrey, CRO 6QF
  340.     England
  341.     Tel.: 0044-81-656 7333
  342.     Fax: 0044-81-655 0401
  343.     E-mail: 71333.2346@compuserve.com
  344.             rta@rtal.demon.co.uk
  345.  
  346. Amiga:
  347.   A+L AG
  348.   Daederiz 61
  349.   CH-2540 Grenchen
  350.   Tel.: +41 (65) 52 03 11
  351.  
  352. DECstation (Ultrix, OSF/1), Intel386 (SVR4, OS2, Solaris), Sparc
  353. (Solaris)
  354.   Office of Commercial Services
  355.   Queensland University of Technology
  356.   GPO box 2434, Brisbane Q4001
  357.   Australia
  358.  
  359. Atari:
  360.   Martin Momberg
  361.   Hahlgartenstr. 13a
  362.   D-64331 Weiterstadt
  363.   Germany
  364.   E-Mail: Inet:momberg@dik.maschinenbau.th-darmstadt.de
  365.   anonymous ftp:
  366.     ftp.th-darmstadt.de
  367.     changing to directory /pub/machines/atari/programming/stoberon
  368. -- 
  369.  
  370. Everything we do is futile, but we must do it anyway.
  371.                 -- Mahatma Gandhi
  372.