Live data from Hacker News

Project Oberon

projectoberon.com

31–40 of 72 posts

Re: Project Oberon

#31
post #15

Earlier quoted context omitted.

They are Oberon, the system that was described on the first edition of Project Oberon was the version 1. ETHZ researchers and Niklaus Wirth then iterated further on the Oberon (the OS) and Oberon (the language). The definitive Oberon (the OS) version that still uses the plain Oberon (the language) from original project was System 3, which is what those videos relate to. In Active Oberon used to write AOS (BlueBottle…

I consider Active Oberon and AOS to be forks, and I think Wirth does, also. I believe that he feels that Project Oberon is his final word on the subject. Wirth created Oberon-7 largely by removing features[0]: Revised Oberon (Oberon-07) is a revision of the original language Oberon as defined in 1988/1990. It is accepted by the compiler recently completed for the ARM processor. Most changes in the language might easi…

Project Oberon cannot be his final word, given that it is only the first version, later upgraded up to System 3 version.

It is hard to consider them forks, when they originated on the same department and he also collaborated in some form.

Component Pascal and Zonnon, those are proper forks.

While I admire Wirth's work, his goal to pursue a minimalist Oberon with Oberon-07 is not so interesting to me.

My pocket phone is more powerful than any Xerox workstation, why should we keep searching for such minimalist endeavours, instead of the rich development experience provided by them.

Re: Project Oberon

#32
post #30
post #29

Earlier quoted context omitted.

Yes, mostly correct.

I'd be delighted if you'd correct whatever isn't!

Go is mix of Limbo and Oberon-2.

I also remember reading somewhere that Wirth found Cedar too powerful, or complex, so Oberon was designed with the goal to be as capable as Cedar environment, while using a simpler language.

So not sure which kind of relation I would put them, besides being an inspiration.

Re: Project Oberon

#33

Project Oberon is awesome! I found the Project Oberon book in SFSU library and read it cover to cover. Such a tight, elegant system. Pretty much complete: Oberon OS includes compiler for Oberon language! Language was self-hosted (compiler written in itself) and Prof. Wirth had a heuristic: no feature could be added to the lang/compiler if it made compiling the compiler slower. There are several emulators, in C, JS, J…

I have a old article with lots of screenshots,

http://progtools.org/article.php?name=oberon&section=compile...

Re: Project Oberon

#34
post #26

Project Oberon is awesome! I found the Project Oberon book in SFSU library and read it cover to cover. Such a tight, elegant system. Pretty much complete: Oberon OS includes compiler for Oberon language! Language was self-hosted (compiler written in itself) and Prof. Wirth had a heuristic: no feature could be added to the lang/compiler if it made compiling the compiler slower. There are several emulators, in C, JS, J…

I'm looking forward to reading your note; IIRC "Gadgets" postdates the book and so isn't documented in it.

Yes, Gadgets was written by a student later on. "The GADGETS user interface management system" https://www.research-collection.ethz.ch/handle/20.500.11850/...

I'm trying to find original sources, as my memory is a little foggy. There is some good information here: https://en.wikibooks.org/wiki/Oberon/ETH_Oberon/Tutorial

Basically it combined a nice Model-View-Controller widget collection with facilities like live introspection and editing of widgets, and embedding widgets in (multiple) documents (edit a spline widget in one view and it changes in all the views/docs in which it's embedded)

It might sound a little plain vanilla now, but this was in 1990-1991.

Re: Project Oberon

#35
post #26

Earlier quoted context omitted.

I'm looking forward to reading your note; IIRC "Gadgets" postdates the book and so isn't documented in it.

Yes, Gadgets was written by a student later on. "The GADGETS user interface management system" https://www.research-collection.ethz.ch/handle/20.500.11850/... I'm trying to find original sources, as my memory is a little foggy. There is some good information here: https://en.wikibooks.org/wiki/Oberon/ETH_Oberon/Tutorial Basically it combined a nice Model-View-Controller widget collection with facilities like live int…

Thank you!

Re: Project Oberon

#36
post #27

This project is still a great example of a complete computer design, starting from Niklaus Wirth's own RISC5 CPU (not a RISC-V) and very simple peripherals over the OS, runtime/garbage collector, compiler, GUI and simple example applications. One problem of the original implementation is that it was based on an old Xilinx Spartan 3 development board. This is not only no longer available, but it is one of the few FPGA…

The original implementation of Oberon was based on a Nominal Semidestructor 32032. Thanks for linking these more recent designs! Especially, I had no idea Oberon had been ported to RISC-V, which is very inspiring indeed!

Right, Wirth's group used to build their own machines. The previous Modula-2 machine (Lilith) was a microcoded 16-bit system built from SSI/MSI 74-series TTL components whereas the Ceres family of workstations used different CPUs and support chips from the NS32k family - the final version (Ceres 3) used a low-cost embedded version of the NS32k without an MMU (you don't need one for a type-safe language - that was at least the motivation for this...). It could run diskless and boot over a proprietary network, which used the same hardware (Zilog Z8530 SCC) as Apple's Localtalk in Macs (but a different protocol, I think).

An FPGA reimplementation of the Ceres would be great to have. Someone already did the hard work and implemented a NS32k soft core - http://www.cpu-ns32k.net/index.html

The old edition of the Project Oberon book that described the NS32k version is a bit hard to find. But it's interesting to see how little has changed between the versions.

Re: Project Oberon

#37
post #27

This project is still a great example of a complete computer design, starting from Niklaus Wirth's own RISC5 CPU (not a RISC-V) and very simple peripherals over the OS, runtime/garbage collector, compiler, GUI and simple example applications. One problem of the original implementation is that it was based on an old Xilinx Spartan 3 development board. This is not only no longer available, but it is one of the few FPGA…

The original implementation of Oberon was based on a Nominal Semidestructor 32032. Thanks for linking these more recent designs! Especially, I had no idea Oberon had been ported to RISC-V, which is very inspiring indeed!

Just noticed "Nominal Semidestructor". Right on point! :)

Re: Project Oberon

#38
post #28
post #7

The Oberon channel has several videos of Oberon in action, https://www.youtube.com/results?search_query=The+Oberon+Chan... While Oberon was quite cool, people should also learn about its Xerox influence, "Eric Bier Demonstrates Cedar" https://www.youtube.com/watch?v=z_dt7NG38V4 Also dive into what happened afterwards, Oberon-2, Active Oberon, Zonnon,... Active Oberon could be considered quite modern, also makes the d…

To be entirely meticulous about the genealogy, I think Wirth was at PARC in 01976, and what inspired him most there was Mesa; Lampson first described (Mesa's successor) Cedar in PARC TR CSL-83-15, Xerox Palo Alto Research Center, December 01983, and without rereading the report, I think Cedar's development began about 01981. So Cedar is Oberon's sibling, not its parent. The connecting link at ETH between Mesa and Obe…

Here's a Project Oberon emulator in Go: https://github.com/fzipp/oberon

And a Go port of the RISC compiler: https://github.com/fzipp/oberon-compiler

Re: Project Oberon

#39
post #3

Maybe Project Oberon is widely known to others, but if not, I suggest the title be changed to something like "Project Oberon is a design for a complete desktop computer system from scratch".

Recently heard about Serenity OS wonder if it's similar or different ideals.

Re: Project Oberon

#40

Project Oberon is awesome! I found the Project Oberon book in SFSU library and read it cover to cover. Such a tight, elegant system. Pretty much complete: Oberon OS includes compiler for Oberon language! Language was self-hosted (compiler written in itself) and Prof. Wirth had a heuristic: no feature could be added to the lang/compiler if it made compiling the compiler slower. There are several emulators, in C, JS, J…

> The GUI system, especially with the "Gadgets" subsystem, is mind-blowing. It would take too long to go over it at the moment, but there are features there that still haven't made it into mainstream GUI systems.

Have you seen Delphi?

Post reply on HN