Estimated time: < 10 minutes.
Our aim is to offer you an entertaining form of education with a steep learning curve on the Oberon System, and on the Gadgets System, together with several other system extensions. This is no substitute to the already published literature which we recommend. However, if you want to try out Oberon before buying a book, this tutorial system will get you going fast, for sure.
The document you are viewing right now, is a hypertext document ("Main.html") which you may have opened under the control of the Oberon System itself (with Desktops.OpenDoc Main.html) or which you may have obtained from the Oberon Web site (with "http://ics.inf.ethz.ch/~fischer/Main.html") either using the Oberon browser or using a commercially available Web browser. Whatever the case may be, it is the same HTML document but it will display different characteristics in these different environments. First, like any hypertext document, this text has hypertext links to parts of itself or to other documents shown as blue text in Oberon or as blue, underlined text if you are using a commercial Web browser (an example appears in the previous paragraph). Second, if you have opened it as an Oberon document (including using the Oberon browser), all of the facilities built-in the Oberon System are at the tip of your fingers controlling the mouse. No simulation is used in a tutorial: while consuming and digesting a tutorial you remain in control of Oberon, nothing less and nothing more. Oberon commands and document names are emphazised in red: just like hypertext links they can be clicked to request their execution or correspondingly to open them, using the same mouse key.
Because of that, the best solution is to have an installed Oberon System 3 on your platform. If you wish, you may obtain it from "ftp://ftp.inf.ethz.ch/pub/software/". Otherwise, using a commercial Web browser, you will "only" be able to read the texts and navigate around the Web with one finger in the usual manner. The Oberon System 3 graphical user interface components appear as simple (GIF) pictures deprived of the functionality and behaviour which they display in their natural Oberon environment. Here is an example of what you will see:
A propos mouse, Oberon is controlled with a three-button (or 3-key) mouse. If you are unfamiliar with the use of a mouse in Oberon, you may want to familiarize yourself and exercise with your mouse in this environment. Many Oberon newcomers, expert at using the wide-spread two-button mouse or the Macintosh single button mouse, may benefit from a short tuition. To start the mouse lesson, move the mouse cursor on Using the mouse and the keyboard and click the middle mouse key. Don't know where the middle key of your 2-key or single button mouse is? You want to view that mouse tutorial, but here is a hint: If you are using Oberon for Windows or MacOberon, use the Ctrl key on your keyboard and otherwise, with Native Oberon use the Alt key. These keys appear on either side of your keyboard, but if you are a right-hander, you will probably elect to use the left side key.
You may select among the following tutorials (the order in which they appear is a suggested order of viewing):
Compiler and Builder User's Guide: an introduction to using the compiler and the builder.
Browser and Watson User's Guide: how to use the Browser and how to generate and to retrieve module definitions with the Watson tool.
Columbus User's Guide: how to obtain object and library information and also how to customize objects and manipulate the contents of public libraries with the inspection tool Columbus. Typical activities are: inpecting and modifying gadget attributes and adding new attributes.
Guide to Internet: how to access various Internet resources using the Oberon Netware extensions.
Compression and Archiving Tools: how to manage or to create:
compressed archive files (Compress)
ASCII coded files distributed by FTP and e-mail or on diskette
(AsciiCoder, Base64 and UUDecoder)
Introduction to Gadgets: the basics about the Gadgets system, the Oberon System 3 graphical user interface.
Using Gadgets: how to use Gadgets, concentrating on the interactive manipulation of gadgets by means of their attributes, on the Inspector and on the gadget collection delivered with the system.
Using Gadgets from within Oberon: how to manipulate gadgets from within Oberon programs.
Programming new Gadgets: how to program new gadgets.
Profiler User's Guide: how to measure the execution speed of your system extensions.
Rembrandt User's Guide: how to interactively create new pictures from bitmaps or modify existing ones.
Tutorials Developer's Guide: a meta-tutorial giving you all the clues for building your own tutorials, such as this one, and to convert them to HTML documents.
A number of application packages are delivered with this distribution in archive files only (with a file name extension .Arc), that is, they have to be installed before using them. The decision to install such packages is left to the appreciation of the user. Some of these packages also contain a supporting tutorial: a few examples are given below. Obviously, the text will be presented only if it was extracted from the archive. The following tutorials fall in this category:
Oberon System 3 applications: a description of applications, more precisely system extensions, distributed with this release.
Oberon System 3 Games: a description of games, distributed with this release.
Font Editor User's Guide: how to interactively create your own fonts or modify existing ones.
To describe the syntax of these commands, an extended Backus-Naur formalism (EBNF) is used.
Example: Compiler.Compile [\s[e]] ( { moduleName } ~ | * )
Brackets [ and ] denote optionality of the enclosed terms. Braces { and } denote repetition, possibly 0 times. Parentheses ( and ) group terms in the usual manner. A choice is indicated by the vertical bar | .
Examples:
Compiler.Compile \se Test1.Mod Test2.Mod ~
Compiler.Compile \s *
All Oberon commands have the structure Module.Procedure where, by convention, each component starts with a capital letter, as in the example. In these tutorials, English words starting with a lower-case character denote syntactic entities (non-terminal symbols). moduleName is a typical example. Symbols of the language vocabulary (terminal symbols) are enclosed in double quote marks. However, to improve legibility, the quote marks are omitted for the following symbols: * | ~ | ^ | => | \s | \%
Address comments to
Andre Fischer.