[LWN Logo]

From: skulski@calph1.nsrl.rochester.edu (Wojtek Skulski)
Subject: WWW: Oberon resources for Linux
Date: Wed, 29 Apr 1998 12:04:03 GMT

=====BEGIN PGP SIGNED MESSAGE=====


             Oberon resources for Linux users and developers 
             ===============================================

This post summarizes Oberon resources available to Linux developers. 
My intention is to make Linux community aware of very useful Oberon 
compilers and integrated development environments, which are freely available 
on the Web. I tried to gather all important WWW and ftp pointers known to me, 
but some resources may be still missing. Therefore, this summary has to be 
considered v. 0.1

                          What is Oberon?
                          ===============

Oberon is a modern version of Pascal. It was designed by Niklaus Wirth and
Juerg Gutknecht at ETH Zurich starting in 1986. (Niklaus Wirth designed both
Pascal and Modula-2.) Oberon language supports modules with separate
compilation, strong type checking, interface checking and object-orientation. 
Language definition is very concise and clean. Oberon is perfectly suitable
both for practical programming (including system-level programming) and for
programming education. The current version of the language is Oberon-2. 

There are several Oberon programming environments available, both free and
commercial. They support garbage collection, dynamic module loading with
version checking, a variety of tools for program development, text and
graphics processing, internet connectivity, database access, etc. 

Several Oberon compilers and IDEs are available with full source code via
ftp, including implementations for Linux, Native Intel PC, Windows 95/NT, 
MacOS, Unix (SparcStation, DECstation, RS6000, HP workstations, Silicon 
Graphics), and Amiga. 

Two standalone Native Oberon Operating Systems are available: one personal
productivity OS for Intel PCs, and one real time OS for VME-based
industrial-strength control systems.


          Oberon compilers and integrated environments for Linux
          ======================================================

Optimizing Oberon-2 Compiler
----------------------------
OOC consists of a target architecture independent front end, a target
independent optimization phase, plus a number of back-ends to generate code
for different platforms. An Oberon-2 to ANSI-C Translator OO2C is the first
working OOC compiler. Many libraries for OOC were developed as a part of 
the OOC project.
Platforms: OOC should run on any 32 bit Unix system with an ANSI-C compiler 
(including Linux, HP-UX, SunOS, and Solaris). 
URL:    http://www.uni-kl.de/OOC/
Status: GPL, supported. 
Source: yes.
Documentation: http://www.uni-kl.de/OOC/OOCref/OOCref_toc.html

Visual Oberon, a GUI library for the OOC compiler.
URL:    http://ping.de/sites/edge/VisualOberon.html
Status: GPL, supported. 
Source: yes.


Oberon-to-C translator Ofront
-----------------------------
Ofront features integrated V4 and System-3 IDEs as well as standalone command 
line compiler. Oberon modules (or whole collections of modules) can be
translated to ANSI-C or K&R C and then converted to dynamically loaded
libraries. Ofront is highly recommended for mixed-language projects, such as
using C programs from within Oberon or vice versa, calling Oberon programs
from C. 
Platforms: Linux ELF i386, DECStation, HP700, IBM RS/6000, SPARCstation,
SiliconGraphics. 
URL:    ftp://ftp.inf.ethz.ch/pub/Oberon/Ofront/
Status: commercial, but free for educational users. 
Source: no. 
Documentation: included with the system.


Oberon System 3 (ETH Zurich, the original Oberon site)
------------------------------------------------------
System 3 is an evolution of the original Oberon with the Gadgets component
framework. The system shows some similarities with commercial componentware
systems such as Java. Rumors have it that Java owes a lot of its ideas to
System-3 component architecture. If you know what JavaBeans and JVM are in
relation to Java, then Gadgets and Juice/OMEGA are the same in relation to
Oberon System-3, with one important difference: Juice applets are compiled 
on the fly, and are thus much more CPU efficient. Juice applets can be executed 
under Netscape and MS Internet Explorer just like Java applets. However, Juice 
applets execute much faster than Java. 
Oberon System 3 includes Juice Development Environment, Gadgets component 
framework, a browser, development libraries, network programming (TCP/IP, 
WWW, a complete web browser), database connectivity, much more.
Note: contrary to the numbering scheme, System-3 is not a predecessor of V4
described later. Even though S3 and V4 share certain arcitectural features, 
the two systems are implemented quite differently. 
Platforms: Linux ELF i386, Windows/Windows95/WindowsNT, MacIntosh. HP/UX is
forthcoming.
System-3 URL:   http://www.oberon.ethz.ch/oberon/system3/
Juice    URL:   http://www.ics.uci.edu/~juice/
Status: free, supported. 
Source: yes.
Documentation:   included with the system.
On-line manuals: http://www.oberon.ethz.ch/oberon/system3/tutorial/


Oberon System V4 (Johannes Kepler University Linz) 
--------------------------------------------------
A complete IDE including compiler, debugger, browser, development libraries, 
network programming (TCP/IP, WWW, a complete web browser), database 
connectivity, much more. The hallmark of this system is a large collection 
of "active text elements" implementing fine-grained GUI elements such as 
popup menus, hypertext folds, time stamping, buttons, sliders, GIF viewers, 
much more. 
Note: contrary to the numbering scheme, System-3 is not a predecessor of V4.
Even though S3 and V4 share certain arcitectural features, 
the two systems are implemented quite differently. 
Platforms: Linux ELF i386, Power Macintosh, IBM PC compatibles with Windows. 
URLs:   http://www.ssw.uni-linz.ac.at/Oberon.html          (general)
        http://sport1.uibk.ac.at/tanis/oberon.linux.html   (Linux)
Status: Free, supported. 
Source: yes.
Documentation: included with the system.


Oberon System V4 (ETH Zurich, the original Oberon site)
--------------------------------------------------------
This is an older version of the V4 environment, with much less sophisticated
text element collection than the one offerred with Linz V4. 
Platforms: Amiga, Linux i386 a.out, DECStation, HP700, Macintosh, IBM RS/6000,
SPARCstation, SiliconGraphics, and IBM PC compatibles with Windows.
URL: http://www.oberon.ethz.ch/oberon/
Upgraded ETH V4 for Linux i386 is available from: 
ftp://nuchem.nsrl.rochester.edu/pub/Oberon/Linux.aout
Status: Free, no more supported. 
Source code: yes (most implementations including Linux).
Documentation: included with the system.


JACOB (Just A Compiler for OBeron-2)
------------------------------------
Jacob is a stand-alone Oberon-2 compiler under Linux. 
Platforms: Linux i386 ELF.
Status: free, does not seem to be supported. Current release is 0.1.1
Source: ?
URL:    http://user.cs.tu-berlin.de/~sepp/jacob/00wurzel.html


Guy Laden Oberon Reference Site 
-------------------------------
Many other freeware and commercial Oberon compilers are in existence. The
most up to date information can be obtained from the Guy Laden Oberon
Reference Site. In addition to compilers, it also covers Oberon-related
literature, research papers, ongoing development efforts, etc. This site is
one of the most important Oberon resources on the Web. 
URL: http://www.math.tau.ac.il/~guy/Oberon/.



               Oberon books and online information
               ===================================

Several Oberon textbooks and programming tutorials are available. The
following URL lists the most important books with their ISBNs and ordering
information. Selected URLs of Oberon online information are also given at
this URL. 
URL: http://nuchem.nsrl.rochester.edu/~skulski/Obooks.html

Many research articles, complete applications, and programming case studies
are available. Examples include Oberon compilers themselves (all were 
written in Oberon), the original Oberon Operating System (fully documented
in the book by Wirth and Gutknecht; now evolved into the new Native PC
Oberon Operating System), the Gadgets component framework (offers power 
comparable to other windowing systems at a small fraction
of their size), and a complete CAD environment for FPGA synthesis. 
URLs can be found at Guy Laden Oberon Reference Site. 
URL: http://www.math.tau.ac.il/~guy/Oberon/




Who am I and why did I announce "Oberon resources for Linux community"?
========================================================================

1. I am a physicist. I use both Linux and Oberon. 

2. I could never convince some Oberon developers that their great work 
   should be announced. Therefore I decided to write a summary myself.

3. Please feel free to write me a comment. However, technical questions 
   should best be directed to respective developers. 

-----------------------------
Assembled on April/27/1998 by
Wojtek Skulski, skulski@nsrl.rochester.edu
Nuclear Structure Research Lab, Univ. of Rochester
271 East River Rd, Rochester, NY 14627. 
phone (716) 275 2524  fax (716) 473 5384
World Wide Web: http://nuchem.nsrl.rochester.edu/~skulski







-- 
This article has been digitally signed by the moderator, using PGP.
http://www.iki.fi/mjr/cola-public-key.asc has PGP key for validating signature.
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software and the LOCATION.
This group is archived at http://www.iki.fi/mjr/linux/cola.html

=====BEGIN PGP SIGNATURE=====
Version: 2.6.3ia
Charset: latin1

iQCVAgUBNUcXM1rUI/eHXJZ5AQHVeQQAx7DatHZecqTPsBCX1FOeR05OPtS4sks2
WR/lIB/KvG1TF1zcecCeknpnsl28rHN9iOsKHBEZPWI/nZAEU5zvNates/uGo5Og
Ubypo4uy0H7mG6mDXuwW+TqaHIi7bxWLI/remoU30Y6ap9Lvl1tPiWDtgfVyeLot
l7c0opRTo1k=
=4656
=====END PGP SIGNATURE=====