Live data from Hacker News

Project Oberon

projectoberon.com

21–30 of 72 posts

Re: Project Oberon

#21

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…

Some of the gui stuff actually made it into Plan 9, see the acme editor for more info.

I love all of Wirths writing, he really does a lot to make complex topics approachable.

Note there's a lot more to OOP than adding methods to records, on the surface yeah, but "primitive" sub-typing just scratches the surface. This isn't a criticism, just a note so anyone interested can learn more, Pierce's Types and Programming Languages is a good place to start.

Re: Project Oberon

#22
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…

Yes they are Oberon too but my point is that they've evolved and added a ton of stuff that go further than the minimalistic nature of the linked site. The "Project Oberon" in the site doesn't even have overlapping windows or color for example.

That is like evaluating what MS-DOS was capable of by looking at MS-DOS 1.0 instead of 6.22.

Oberon 1.0 isn't what was the daily driver at ETHZ, beyond its initial introduction.

Re: Project Oberon

#25
post #15

Earlier quoted context omitted.

While these are called "Oberon", judging from the screenshots (i haven't watched the videos), they seem to be way beyond the minimalistic nature of the Oberon system shown in Project Oberon. I think the emulator linked at the bottom left side is a better way to check out Oberon in action as you can easily (well, after you figure out how things get compiled, etc :-P) see it in practice and how a few individually simpl…

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 easily be called features of a dialect. However, there are a few that merit a stronger distinction, because they should be considered as permanent, and as corrections of unsatisfactory properties of the original Oberon. These are the elimination of the loop statement, function result specification, array assignments, constant parameters, and read- only import of variables. All changes were made in the interest of regularity, simplicity, completeness, and well-structuredness.

See also [3] for confirmation that Oberon-7 is the language of Project Oberon.

I'd recommend reading the papers on Wirth's personal site [2].

[0] https://people.inf.ethz.ch/wirth/Oberon/Oberon07.pdf (pdf) (15Jul2011 update)

[1] https://people.inf.ethz.ch/wirth/Oberon/OberonAtAGlance.pdf (pdf) (20Nov2013)

[2] https://people.inf.ethz.ch/wirth/Oberon/index.html

[3] https://people.inf.ethz.ch/wirth/ProjectOberon/PO.System.pdf (pdf) (2013)

Re: Project Oberon

#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.

Re: Project Oberon

#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!

Re: Project Oberon

#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 Oberon was the Lilith workstation with its system software written in Wirth's Modula-2 (01977–01984).

As for Golang, the relationship is much more direct! The first public version of Golang is mostly a slightly modified version of Pike's Newsqueak, but at the point Golang became Golang, Pike was working with Griesemer and Thompson. IIRC Griesemer did his dissertation under Wirth at ETH on extending Oberon to parallel computers.

Re: Project Oberon

#29
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…

Yes, mostly correct.

Re: Project Oberon

#30
post #29
post #28

Earlier quoted context omitted.

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…

Yes, mostly correct.

I'd be delighted if you'd correct whatever isn't!
Post reply on HN