15 comments

[ 3.3 ms ] story [ 52.2 ms ] thread
I fondly recall downloading a tar file of Oberon over ftp and running it on a Mac IIci at work. I can't recall how many floppies I used. I think it was more than one. That was an interesting time for me, as I was able to quickly investigate a lot of languages and environments. Some, like Oberon, took over the machine, and others, like Dylan, provided a graphical environment to experiment with the language.
I think it’s possible to get a full Oberon environment from the Mac App Store.
I was quite impressed by it and tried to learn it, but difficult to find a standalone modern compiler for it.
It is relatively easy,

http://oberon07.com/compilers.xhtml

However this is nothing like using Oberon back in the day, because similarly to the Xerox PARC workstations, it only made sense as a full stack OS.

Additionally any standalone compiler needs to support the Oakwood guidelines to be usefull outside the Oberon (OS) semantics.

http://www.edm2.com/index.php/The_Oakwood_Guidelines_for_Obe...

So in the end, Oberon is yet another system that was ahead of its time, has proven what is possible with a GC enabled systems programming language in 1990's hardware, but we are better off applying its lessons to more modern languages.

Here is a modern IDE/compiler with semantic navigation and source-level debugger: https://github.com/rochus-keller/Oberon/

There are precompiled versions for Windows, macOS and Linux i386.

The compiler can generate CLI assemblies, (platform independent) C99 files or LuaJIT bytecode.

There is straight Oberon legacy in Go: type embedding. Also, Go team has Robert Griesemer from ETH, and other Wirth fans like Rob Pike himself. Pike’s Acme editor/window-manager also is heavily Oberon influenced.
And there was Inferno and Limbo. Probably the best system no one has ever heard of, a very much Oberon influenced virtual stack machine and OS. There once was a chance PlayStation could have adopted it, boy would that have changed the world.
It kind of irks me that the discussions about Plan 9 almost everytime forget about what followed it.
Rob had his revenge. Go rules the Cloud, and the Cloud rules the world.
What cloud? It has been all about Java and .NET over here, with Rust being the new darling.

https://deislabs.io/posts/still-rusting-one-year-later/

If you mean docker and kubernetes, docker is on the way out, the only thing left the image format, and just like Deislabs there are other CNCF members having new projects being done in Rust instead.

Well I mean

Terraform Prometheus/Grafana/Loki/Thanos Jaeger Kubernetes/etcd Docker Helm Velero Kolga

Just to name the ones we use at Helsinki City.

I also work for a training company where we teach these tools and Go - and we also train Rust. I see a perfect ecosystem of Go and Rust emerging.

More visible ones are the method declaration syntax taken from Oberon-2, and the unsafe package.

https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm

Also I don't know what you mean relatively to type embedding, Oberon doesn't do it like Go, it only has extensible records.

(comment deleted)