Some Oberon friends emailed us a few days ago and asked for an introduction of the platform to the OSNews readers, so here it is: Oberon started in the ’80s, and it is both a native operating system capable of running on its own partition, and a programming platform (based on Pascal/Modula) on top of existing OSes. It seems to be quite active and in fact, there was a recent fork of the official Oberon kernel, becoming the Bluebottle OS, which also seems very active.
Screenshots?
Try:
http://bluebottle.ethz.ch/wm/pics/faosscreenshot05022002a.png
Very interesting!
a 2d/3d file manager on that screenshoot (the url above)?
I was a big Topspeed Modula-2 fan and was disappointed no major language tools vendor picked up Modula-2 or Oberon.
Nicklaus Wirth has a very good grasp on how complex systems can be built using simple building blocks.
It would be awesome if Borland, Microsoft, or another large tools vendor picked up Oberon.
While I’m wishing… it would be awesome if any language company built a toolset as good as Visual Studio .NET. Borland’s latest IDE is not up to par. Dreamweaver MX has a much improved UI which I’m quite fond of.
#m
XDS has (had?) a very decent Oberon-2/Modula-2 compiler. And have a look at BlackBox (see http://www.oberon.ch), a very nice component framework based on Object-Pascal, a descendant of Oberon-2. BTW, one of the big guys behind Object-Pascal now works for Microsoft.
Anyway, I agree that Oberon-2 is an awesome programming language. I’ve been seriously considering writing my own compiler and IDE for it.
Yeah, Anders did a good job on Object Pascal. Chuck did some work on it that was also very good. In many ways, Delphi is still Borland’s premier language dev tool. I used to work at Borland, so I got to see the beginning of the exodus to Microsoft. Paul Gross was one of my favorite people at Borland and he eventually went over to MS. Also Bert, who worked on our database core technology. He was the original father of the Silicon Graphics Reality Engine.
Surpass was the spreadsheet that became Quattro Pro. When we bought it, it was written in Modula-2 (mostly by one person). Very cool. We ended up adding the Modula-2 features we needed to Turbo Pascal so that we could compile it under our own tools. One day soon after that, Turbo Pascal became Object Pascal.
I tracked down the XDS Oberon-2. Looks pretty good compared to BlackBox ๐
http://www.excelsior-usa.com/products.html
It seems like there is plenty of opportunity for a good Oberon-2 implementation ๐
#m
For all those wanting to know more about Oberon-2, there is his site:
http://www.amadeus-3.com/
crappy graphics/design, great content. He’s a professional coder for many many clients for years already. Drop him an email, he’ll always welcome you.
I wrote Object-Pascal but I meant to write Component-Pascal. Quite a different language actually… sorry.
For those who are only interested in the language, here is a free compiler for it:
http://ooc.sourceforge.net/
Nope, I’m not associated with the project – I just lurk on the mailing list ๐
Component Pascal is quite interesting.
Here’s the link on how it compares to Oberon —
http://www.oberon.ch/resources/component_pascal/evolution.html
I must admit that the Oberon world is much more fragmented than when I looked at list, around the time Microsoft paid the Oberon folks to create the .NET version of Oberon.
The Excelsior link I provided includes a link to get a free eval for the Windows Oberon compiler.
#m
Since we are talking of the incredible work of N.Wirth, I though I would mention his other language that very few SW people will be familiar with, besides Pascal, Modula i, & Oberon languages for SW dev guys, he also created Lola for the HW students in his lab.
Although Lola is not much used in HW/Asic industry, it was for a while the Pascal of HW description languages, clean, simple, minimal. It was also used to create open tools for FPGA designers that were using an open FPGA from a Scots company. Once Xilinx killed of that product, Lola had no where to go since all commecial FPGAa were closed designs.
Part of the Oberon project was the cpu designed to run it which IIRC was a 29000 bit slice engine. This highlight the talent of the guy when SW & HW are designed together.
I only wish there were a few more SW talents like that in the Asic biz creating tools instead of what we have.
I also have fond memories of the beginnings of Mac programming when it was Pascal & then Modula2, but those days are long gone.
After developing Pascal (1968-72) and Modula (1973-76), Wirth starting working on mixed SW & HW projects.
The first was the Lilith workstation (1977-81) and Modula-2 (1977-80). Everything was developed in an integrated approach: hardware (bit-sliced processor), microcode (including raster ops), operating system, compiler and applications.
The second such integrated project was the Ceres workstation family (1984-90) and the Oberon language and system (1986-90). Ceres was based on the 32-bit NS32000 processor family from National Semiconductor. The book “Project Oberon” by Wirth and Gutknecht is a detailed and valuable description of the Oberon system, but is unfortunately quite hard to come by nowadays.
After Ceres and Oberon, Wirth worked on Lola and FPGA-based systems and then on an integrated helicopter control system, until he retired in 1999. The co-designer of the Oberon system, Prof. J. Gutknecht, continued working on Oberon at the ETH.
More information on Wirth’s projects is at:
http://www.cs.inf.ethz.ch/~wirth/
— Pieter
An ideal tool for design of complex sci/math algorithms.
Opens up a new dimension in this field by adding the ability to use arbitrarily complex data structures to the context of compilable language,
allowing to add elements of AI to standard numerics.
Bridges the chasm between numerics and symbolical calculations — a decades-old headache of theoretical physicists.
For this kind of applications has no competitors.
Interactive graphics of BlackBox (www.oberon.ch) — once on gets the hang of it — is an amazing tool.
Some further comments on Oberon/Component Pascal in theoretical physics are available at
http://www.arxiv.org/PS_cache/hep-ph/pdf/0202/0202033.pdf
–F
Oberon has obviously influenced Java and C# to such an extent that one can talk about an emerging “standard paradigm of (procedural) programming”.
(Of course, it is hard to improve a nearly perfect design, as the unnecessary complexity of both Java and C# proves).
Once this is realized, one also realizes that Oberon/Component Pascal is a great foundation for introductory courses of programming, with a clear roadmap towards Java and C#.
This looks much easier than taking students to say Java via C (not to mention C++).
Despite all its power, the simplicty of Oberon/COmponent Pascal — astonishing after C/C++ and even Java/C# — makes it perfect for high schools — as well as for “non-professional” programmers (like physicists, linguists etc.)
An effort is under way to implement this idea in Russian high schools ( http://www.inr.ac.ru/~info21/ ; the site is all in Russian — sorry for this — and currently in a ver.0.9 state).
A related effort is to similarly streamline programming education at the physics dept. of the Moscow State University.
Cheers,
–F
There is one feature of Wirth’s Modula-2 that is greatly needed
today; freedom from DLL hell (windows) or library version hell (linux). As long as a module’s interface remains unchanged clients need not be recompiled. Modula-2 interfaces and implementations are compiled separately.
I have fond memories of programming in Modula-2 on the Amiga. What joy compared to C and C++ on Windows =P. N. Wirth is one of my heroes =).
A really cool Oberon based technology I’ve come across in my time is called “Juice.” It’s too bad it didn’t take off.
Juice lets you create applets for webpages, rather like you can with Java. Unlike Java, they run very fast. It’s not surprising that they do, because they’re compiled into native code! I’m not talking about ActiveX applets, which (I think?) are compiled by the developer to native code, restricting them to the one platform they happen to run.
A while back, I tried out the applets. Really quite amazing. Your browser doesn’t require bytecode compiled .class files, but an abstract syntax tree (AST), and then the Oberon compiler (which is part of the plugin) compiles it and run it. Now, compiling Oberon isn’t like compiling C++ with GCC- it’s instant. The Oberon plugin downloads the AST, compiles it to machine code and executes it before the Java VM is even done churning the disk. (I tried this with Sun’s HotSpot VM on Win98)
IIRC, the download is really quite small as well.
It appears the server which used to serve Juice is down, but you can read about it using Google’s Cache, or the WayBackMachine (www.archive.org). If neither of those captured the needed .sit/zip files, try emailing Michael, the first page below, perhaps he can send them.
This technology is from w hile back- 6 years or so. There are only version for Mac OS and Windows, but the Oberon system itself is available for some more platforms, so there’s no reason someone pick up on this idea and create a new version.
Page linking to it: http://www.ics.uci.edu/~franz/OberonJuice.html
Juice homepage: http://www.ics.uci.edu/~juice/
You can find more screenshots of BlueBottle OS at:
http://bluebottle.ethz.ch/wm/gallery.html