If someone asked you to name some computer languages, any computer languages, chances are good that Pascal would be among them. It’s a popular, powerful language (most of the Macintosh Toolbox is written in Pascal) and it’s been around for a while. The inventor of Pascal, Dr. Niklaus Wirth, has not been sitting around smirking however, but has come up first with Modula-2 and now with Oberon.
Oberon is more than just a programming language, it’s a full operating system as well. Wirth originally designed it for the Ceres workstation (never heard of it personally), but has been ported to other platforms, such as (you guessed it) the Macintosh. It is genuinely extensible in that it works directly with procedures, abandoning the concept of the program. A set of basic procedures comes with the operating system with added functionality coming from modules written and compiled by users. New procedures can be used as soon as they are compiled since Oberon allows modules to be dynamically added at run-time. The blurb from the Oberon people claims that the system is approximately as fast as interpreted (as in BASIC) because the compiler is quick and no linking is required.
The Macintosh version, appropriately called MacOberon, runs on top of the standard MacOS as a single application under MultiFinder. All the standard Oberon modules are included, so existing Oberon software can be ported to the Mac by re-compiling. I wonder if any re-coding is necessary along with the re-compiling since C is theoretically easily portable between platforms in the same way but C programs often need tweaking to work correctly. One interesting part of the MacOberon port is that it includes "a flexible interface allowing access to the Macintosh operating system and Toolbox routines." We haven’t seen MacOberon yet, but we’re curious to check out how complete a job it does in providing access to the MacOS and Toolbox routines. In theory, MacOberon applications could run outside of the MacOberon environment eventually, but that would require the MacOberon compiler to link the various modules together into a single Macintosh application. I suppose it could keep the modules as resources, which might be a bit easier.
For those of you who are champing at the bit to get MacOberon, I’ve got some good news and some bad news. Which would you like first? I thought so. The good news is that MacOberon 1.2 is free and in the public domain. You can get it in Binhexed StuffIt format through anonymous FTP at:
Internet Address: 126.96.36.199
Login Name: anonymous
Password: <your e-mail address>
Make sure to check out the "readme" file that contains the rest of the instructions. If you aren’t lucky enough to have FTP access, they will send you MacOberon if you send an empty floppy disk and an address label with your return address on it to:
Institut fur Computersysteme
ETH Zentrum IFW E48.2
Don’t worry about sending stamps (unless they’re Swiss stamps) or envelopes – they’ll take care of stamps and envelopes and will return disks via air mail. The MacOberon people want you to register with them if you are using MacOberon so they can inform you of updates and changes to the program. Send a short message to [email protected] to register yourself. Bug reports are welcome at the same address. We presume that if you don’t have net access that you can send snail mail to the above postal address to register yourself as well.
Oh yeah, the bad news. MacOberon requires at least a 68020 (the Mac II or LC) and thus will not run on a Plus, SE, or Classic. A large screen is recommended.
MacOberon comes with a disclaimer. It is not a commercial product and is still being developed. The system seems to be quite reliable, but may still have errors. For the price, not surprisingly, there is no user support.
References to Oberon:
N. Wirth. - Type Extensions. ACM Trans. on Prog. Languages and Systems, 10, 2 (April 1988), 204-214. - From Modula to Oberon. Software - Practice and Experience, 18, 7, (July 1988), 661-670. - The Programming Language Oberon. Software - Practice and Experience, 18, 7, (July 1988), 671-690. - Designing a System from Scratch. Structured Programming, 10, 1 (Jan. 1989), 10-18. N. Wirth and J. Gutknecht. - The Oberon System. Software - Practice and Experience, 19 , 9 (Sept. 1989), 857-893.
Michael Franz — [email protected]
Adam C. Engst — TidBITS Editor