Live data from Hacker News

Project Oberon

projectoberon.com

11–20 of 90 posts

Re: Project Oberon

#11
Oberon had so many good ideas. It's still worth studying.

The problem in the 90's: provide executable content across the net for browsers.

Java was supposed to provide the portable universal binary code you could load and execute everywhere, except that it did not have the necessary features and was too complicated. Then came Javascript but it was broken mess for long time and needs binary format.

There was Juice back in 1997 http://www.modulaware.com/mdlt69.htm. Ligthing fast single pass compiler that works with AST and gives constant-time type and well-formedness checking portably over the net.

If WebAssembly is ready in 2017, we can finally have the portable binary with the same set of features as Juice 20 years later. Instead of Oberon system, we have browser in the client and node.js in the server throwing WebAssembly around.

It's like déjà vu all over again.

Re: Project Oberon

#12

Wow, this is excellent. The Oberon and Bluebottle OS materials have always been quite scattered, so someone putting them in a central index is quite convenient. For those unaware, Oberon's main qualities are the fact that it's a full operating system written in a garbage collected Pascal-like language (actually made by the same person who initially wrote Pascal) which uses said language's module system to provide reu…

The language: is it Oberon or Component Pascal (which was a descendant of Oberon)?

Re: Project Oberon

#14
I am new to all this. I was thinking to get started with The Elements of Computing Systems by Nisan/Schocken. Is Project Oberon something entirely different? If not, how do they compare?

Re: Project Oberon

#18
Oberon. Now that's a name I haven't heard in a long time. Once upon a time there was a great crossroad in the early 90's (when I was a kid and learning programming - keep in mind that perspective).

BASIC was on its way out - we all knew it to some extent due to home computers renaissance, but it was evident it didn't have any staying power. So there were all these wonderful machines with different architectures, OS' and programming languages out there, with no clear winner (it depended on what you wanted to do). So, basically there were two camps in the end, regarding programming languages. Pascal and C. Pascal had that notion that it was, too, on its way out, but was really useful and Oberon was around the corner so it was worth the wait to stick with it. On the other hand C++ was entering the arena full force, because machines were getting faster (it had a stigma of being slow). I went with C, because I was getting into SGI/IRIX and CG (and later on abandoned programming as a full time choice), and some of my friends went with Pascal. Oberon was floating in the air for some years, but nothing happened. This was always a mystery to me. Eventually, Pascal guys moved to Delphi and my circle of C guys either stayed with C (like I did) or bought OO Kool-Aid and went with C++ (of which some later on went to Java). Pascal (later on Delphi) guys developed sort of a cult. It never was clear what happened to Oberon, and (to me) to this day it's a mystery. Funny enough, I can now retrospectively see that programming languages we chose (and stuck with) was heavily influenced by machines/OS' we used. Pascal guys were mostly PC or Atari guys, and C were mostly those with access to *NIX and Amigas.

Re: Project Oberon

#19

Wow, this is excellent. The Oberon and Bluebottle OS materials have always been quite scattered, so someone putting them in a central index is quite convenient. For those unaware, Oberon's main qualities are the fact that it's a full operating system written in a garbage collected Pascal-like language (actually made by the same person who initially wrote Pascal) which uses said language's module system to provide reu…

> actually made by the same person who initially wrote Pascal

Niklaus Wirth, for those interested.

Re: Project Oberon

#20
post #5

Earlier quoted context omitted.

Thanks for this summary, I've been struggling for the last few minutes to try and figure out what the hell Oberon was. That sounds awesome!!

Yes, thanks for the concise summary. The only thing I didn't understand is the part about garbage collection. What does garbage collection mean and what is the benefit in this implementation?

Hmmm, if you don't know what garbage collection is (and I don't mean this as sneer) how are you sure that you understood everything else said?

In the sense that garbage collection is a pretty basic CS term, and the summary contained lots of CS terms and implied knowledge to understand it (modules, interfaces, persistence, etc).

Post reply on HN