Live data from Hacker News

Project Oberon

projectoberon.com

71–80 of 90 posts

Re: Project Oberon

#71
post #68

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'…

> Oberon was floating in the air for some years, but nothing happened. This was always a mystery to me. Wirth was never good on capitalizing his work on the industry. Same thing happened to Modula-2 sadly. On his ACM award article and a later article about lean software, he discusses how sadly he sees industry embracing complexity instead of quality. http://www-oldurls.inf.ethz.ch/personal/wirth/Articles/Turin... htt…

Also most of my friends with Amigas cared only about Assembly.

Of course. I tried to be as brief as possible, not to bother people. Even C had a stigma of being slow back then. Assembly was the language for anything performant, but everybody was aware that in the following years computers will get fast enough (computers, not compilers hah) not to care.

Re: Project Oberon

#72
post #68

Earlier quoted context omitted.

> Oberon was floating in the air for some years, but nothing happened. This was always a mystery to me. Wirth was never good on capitalizing his work on the industry. Same thing happened to Modula-2 sadly. On his ACM award article and a later article about lean software, he discusses how sadly he sees industry embracing complexity instead of quality. http://www-oldurls.inf.ethz.ch/personal/wirth/Articles/Turin... htt…

Also most of my friends with Amigas cared only about Assembly. Of course. I tried to be as brief as possible, not to bother people. Even C had a stigma of being slow back then. Assembly was the language for anything performant, but everybody was aware that in the following years computers will get fast enough (computers, not compilers hah) not to care.

Sure, sorry for misunderstanding you.

That is why I always smile when people talk about how modern languages are so slow and C is the king of speed, if only they used those old C compilers back then...

Re: Project Oberon

#73
post #27

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…

> on-screen text that can serve as an entry point or continuation to perform all sorts of computations, things you'd normally write hacky scripts for. The Acme editor famously works this way. So, in a rudimentary way, does the Emacs scratch buffer. It's a weird amalgam of text editor and REPL: you evaluate snippets of text and get the output in-place, and then edit the text to get what you want next. This live-text-a…

Or getting more modern, Swift playgrounds in the latest versions of XCode have a similar kind of feel to them.

Re: Project Oberon

#74
post #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 bac…

The problem with Java binaries on the client, was that the Java applet didn't have direct access to the DOM bindings. Instead, the applet rendered it's own GUI via the plugin, and the look and behavior was inconsistent with the rest of the browser experience. A similar story with activex and flash. It's a mystery why it has taken so long to get to the point where we can target the browser with a statically-checked hi…

I feel it could have been easier to add DOM bindings to Java instead of the path that has been taken.

Re: Project Oberon

#75
post #63

Earlier quoted context omitted.

It is specifically Oberon-07[0], a 2007 revision of the original Oberon from 1986, which is still being worked on by Niklaus Wirth with updates as recently as this year. Component Pascal is a superset of Oberon-2, itself an extension of the original Oberon that tacked on limited OOP support and a handful of other tricks. Component Pascal was not a Wirth-designed set of extensions, however Blackbox Component Builder i…

> Unfortunately the availability of modern implementations for the Wirthian languages leaves something to be desired. There is the Delphi-compatible, GPL-licenced Free Pascal¹). GNU Pascal²) is also still around but might or might not meet your definition of 'modern implementation'. ¹) http://www.freepascal.org ²) http://www.gnu-pascal.de

[deleted]

Re: Project Oberon

#76
post #20

Earlier quoted context omitted.

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

Garbage collection was never really anything I recall being discussed in my Cmpt Science curriculum, back in 1990-1993, though there was lots of interesting theory about memory allocation/deallocation/defragmentation. It wasn't until I ran into Java around 2000 or so that people started talking about Garbage Collection. I'm not saying that it didn't exist, it was just less of a priority 25 years ago than 15 years ago…

Everyone has different experiences and interests in college, but I recall Garbage Collection as an important subject decades before 2000. I studied CS in the 1970s (and 1980s) and garbage collection was already an important subject. It was a part of the ACM recommended CS curiculum as far back as 1968. Google Scholar reveals thousands of results for "garbage collection algorithm" before 1990. The subject was studied by great computer scientists (Lamport, Dijkstra, and Liskov are all Turing award winners) and the results were fun and interesting:

1989

  AW Appel: "Simple generational garbage collection and fast allocation"
1988

  JF Bartlett: "Compacting garbage collection with ambiguous roots"

  J Crammond: "A garbage collection algorithm for shared memory parallel
  processors"
1987

  AW Appel: "Garbage collection can be faster than stack allocation"

  DI Bevan: "Distributed garbage collection using reference counting"
1986

  B Liskov, R Ladin: "Highly available distributed services and fault-tolerant
  distributed garbage collection"
1985

  J Hughes: "A distributed garbage collection algorithm"
1983

  H Lieberman, C Hewitt: "A real-time garbage collector based on the lifetimes
  of objects"
1982

  RJM Hughes: "A semi‐incremental garbage collection algorithm"
1981

  J Cohen: "Garbage collection of linked data structures"
1977

  HC Baker Jr, C Hewitt: "The incremental garbage collection of processes"
1976

  Douglas W. Clark: "An efficient list-moving algorithm using constant workspace"

  PL Wadler: "Analysis of an algorithm for real time garbage collection"

  
1975

  Guy L. Steele, Jr.:"Multiprocessing compactifying garbage collection", CACM

  Edsger W. Dijkstra, Leslie Lamport, et al.: "On-the-fly garbage collection:
  an exercise in cooperation"
  
1974

  Gary Lindstrom: "Copying list structures using bounded workspace"
1973

  Edward M. Reingold: "A nonrecursive list moving algorithm"
1972

  H. D. Baecker: "Garbage collection for virtual memory computer systems"
  
  Ben Wegbreit: "A space-efficient list structure tracing algorithm"
1969

  Robert R. Fenichel, Jerome C. Yochelson.: "A LISP garbage-collector for
  virtual-memory computer systems"
  
  Joseph Weizenbaum: "Recovery of reentrant list structures in SLIP"
1967

  H. Schorr, W. M. Waite: "An efficient machine-independent procedure for
  garbage collection in various list structures"

  Peter J. Denning: "The working set model for program behavior"
1963

  Daniel J. Edwards: "Secondary Storage in LISP"
The Communications of the ACM, during this period, was the most read CS Journal. Articles appearing there were intended to be of interest to the widest population of computer scientists and 19 of them were on garbage collection.

LISP, APL, LOGO, ML, Prolog, CLU, Scheme, Cedar, Smalltalk, Icon, SML, Mathematica, J, Haskell, Python, Dylan, Self, Lua and Javascript are all important, garbage collected programming languages that came before the late 1990's.

Re: Project Oberon

#77
post #68

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'…

> Oberon was floating in the air for some years, but nothing happened. This was always a mystery to me. Wirth was never good on capitalizing his work on the industry. Same thing happened to Modula-2 sadly. On his ACM award article and a later article about lean software, he discusses how sadly he sees industry embracing complexity instead of quality. http://www-oldurls.inf.ethz.ch/personal/wirth/Articles/Turin... htt…

> Also most of my friends with Amigas cared only about Assembly.

The irony in that is that the Amiga had a lot of decent implementations of Wirths languages. Both Pascal (including the moderately comercially successful HiSoft Pascal), Modula-II and Oberon.

Re: Project Oberon

#78

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'…

> Oberon was floating in the air for some years, but nothing happened. This was always a mystery to me.

Oberon was an operating system as well as a language, and Oberon was an operating system without processes. Game over.

I mean, there are other cons, like the UI. But in a world where Unix was a done deal, NT and Plan 9 were being spun up, BSD was breaking free and users were happy enough with their Unix, MacOS and Windows machines, Oberon took simplicity too far in a number of ways. (Pascal and Modula-2 were a better bet)

In a weird coincidence I saw that someone is selling an Oberon system today and advertising its single-process nature as a feature. Some kind of networked realtime finance application or something, pretty niche, and who knows if they'll make any money with it.

Re: Project Oberon

#79
post #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 bac…

To tie Juice into the modern world of Javascript and Web-assembly:

This comes out of Michael Franz' PhD thesis on Semantic Dictionary Encoding. Franz did his PhD under Wirth, and is now a professor at UC Irvine where he was the thesis advisor for Andreas Gal.

Andreas Gal was instrumental in getting tracing JS JITs of the ground, and until recently served as CTO at Mozilla.

Re: Project Oberon

#80
post #77
post #68

Earlier quoted context omitted.

> Oberon was floating in the air for some years, but nothing happened. This was always a mystery to me. Wirth was never good on capitalizing his work on the industry. Same thing happened to Modula-2 sadly. On his ACM award article and a later article about lean software, he discusses how sadly he sees industry embracing complexity instead of quality. http://www-oldurls.inf.ethz.ch/personal/wirth/Articles/Turin... htt…

> Also most of my friends with Amigas cared only about Assembly. The irony in that is that the Amiga had a lot of decent implementations of Wirths languages. Both Pascal (including the moderately comercially successful HiSoft Pascal), Modula-II and Oberon.

Those friend of mine were into demoscene, hence the Assembly.

HiSoft tools were great.

Post reply on HN