25 comments

[ 3.2 ms ] story [ 37.3 ms ] thread
This is great! I remember running System 3 on a 386 back when MS-DOS was king.
Thanks. There is actually also an i386 version of the system in the repository, where I modified the kernel so it runs with Multiboot, making installations much easier. An essential achievement for both platforms were the stand-alone tools, i.e. I can compile and link the whole Oberon system on Linux or any other platform (see https://github.com/rochus-keller/op2/). I even implemented an IDE which I used for the development (see https://github.com/rochus-keller/activeoberon/).
So good to see Oberon this accessible! Mad props!
Oh, this is something I'm going to have to try. Excellent work!

I have to ask, since people who'd know will probably be here, what's the "ten thousand foot view" of Oberon today? I'm aware of the lineage from Pascal/Modula, and that it was a full OS written entirely in Oberon, sort of akin to a Smalltalk or Lisp machine image. What confuses me is the later work on Oberon seems to be something of a cross between a managed runtime like Java or dot net, and the Inferno OS, where it can both run hosted or "natively". Whenever I've skimmed the wikipedia or web pages I've been a bit confused.

I still hope to see the world where Oberon is the future (and present) of OS and programming language design, and I know very little about it.

Thanks to your work, that's about to change.

Thank you times a thousand <3

The Oberon user interface inspired Acme on Plan 9.

Oberon is a very nice, fun and cozy system and environment for programming. I lived in it for a few months back around 2010 and it was a joy.

(comment deleted)
This is lovely. And I bet it is very fast on that hardware, all things considered.
I'm going to try and give it a go on a zero2 I have lying around. Thanks, this is exactly what I come to hacker news for.
Have always been fond of Oberon! I would love to have A2/ActiveOberon/BlueBottle or whatever the name of the day is on a small native machine as well.

Great Stuff!

Does Oberon still require capitalized keywords? That always seemed to be emphasizing the wrong thing:

    IF disaster THEN abort;
This is great, especially being System 3, given the nice user experience Oberon eventually morphed into.

In System 3 with the Gadgets system it was already starting to feel like a proper mainstream OS, instead of the plain black and white, without framework like experience from the initial Project Oberon, even thought it was a technological achivement already, with a memory safe systems language.

I prefer the path taken down by Active Oberon, however that doesn't seem to also get that much love nowadays, and is much more complex to explore than System 3.

For those that not know it, it already had something like OLE (inspired by how Xerox PARC did it with Cedar), an AOT/JIT compilation system (with slim binaries for portability), and everything on a memory safe systems language.

I was about 5 links deep before I figured out what Oberon actually was. A high-level explainer at the top of the readme would be really nice for folks who aren't already familiar with the Oberon ecosystem
A picture of the running system is the first thing you see at the link.

On the screen is (readable to me at least) the first page of the paper "Oberon Language Report" showing N. Wirth as the author.

In the Introduction to the on-screen document it says, "Oberon is a general-purpose programming language that evolved from Modula-2."

I am surprised the top comment on an HN post is someone asking what Oberon is (especially someone who have programmer in their name.) Oberon is not only a programming language, but an entire software and hardware computing system built from the ground up to be as minimal as possible by famed computer scientist Niklaus Wirth. Simple RISC CPU, Oberon compiler, OS And Windowing system. The windowing system was famously copied by Rob Pike's Acme text editor on Plan 9.

https://projectoberon.net/

Impressive work. Native boot on Raspberry Pi without emulation is a rare thing to see working cleanly. How's the performance compared to running Oberon on a standard x86 setup? And does this open up the possibility of running it headless as a small server?
Will this image also work on the 3B+? I have a spare one of those that I can try this out on.
This is a really cool thing. Thanks Rochus.

The Oberon language and the Oberon System were featured in Byte Magazine several times, most notably in Dick Pountain's articles:

https://vintageapple.org/byte/pdf/199103_Byte_Magazine_Vol_1... https://vintageapple.org/byte/pdf/199305_Byte_Magazine_Vol_1... https://vintageapple.org/byte/pdf/199501_Byte_Magazine_Vol_2...

Spotting similarities betwen the appearance of the Oberon System and Plan 9, or Oberon syntax bits that were used in later languages, is left as an exercise for the reader.

It really is a pretty exciting project, even if I do have a few more gray hairs now (at least the ones that are left). Thanks for the Byte magazine references; I wasn't aware of these articles; very interesting to read how people experienced this technology in the nineties.