Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
21–30 of 122 posts
Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#22Earlier quoted context omitted.
I don't know. Unfortunately we don't have an Oberon compiler doing similar optimization as e.g. GCC, so we can only speculate. I did measurements some time ago to compare a typical Oberon compiler on x86 with GCC and the performance was roughly equivalent to that of GCC without optimizations (see https://github.com/rochus-keller/Are-we-fast-yet/tree/main/O... ). The C++ type system is also pretty strict, and on the o…
There was a couple of PhD theses at ETH Zurich in the 90s on optimizations for Oberon, as well as SSA support. I haven't looked at your language yet, but depending on how advanced your compiler is, and how similar to Oberon, they might be worth looking up.
Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#23Earlier quoted context omitted.
The "OS" (or rather "kernel") was actually the VM which was implemented in microcode and BCPL. The Smalltalk code within the image was completely abstracted away from the physical machine. In today's terms it was rather the "userland", not a full OS.
It's refreshing to see Oberon getting some love on the Pi. There’s a certain 'engineering elegance' in the Wirthian school of thought that we’ve largely lost in modern systems. While working on a C++ vector engine optimized for 5M+ documents in very tight RAM (240MB), I often find myself looking back at how Oberon handled resource management. In an era where a 'hello world' app can pull in 100MB of dependencies, the…
Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#24Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#25Earlier quoted context omitted.
There was a couple of PhD theses at ETH Zurich in the 90s on optimizations for Oberon, as well as SSA support. I haven't looked at your language yet, but depending on how advanced your compiler is, and how similar to Oberon, they might be worth looking up.
I'm only aware of Brandis’s thesis who did optimizations on a subset of Oberon for the PPC architecture. There was also a JIT compiler, but not particularly optimized. OP2 was the prevalent compiler and continued to be extended and used for AOS, and it wasn't optimizing. To really assess whether a given language can achieve higher performance than other languages due to its special design features, we should actually…
Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#26I'm going to try and give it a go on a zero2 I have lying around. Thanks, this is exactly what I come to hacker news for.
Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#27The Oberon user interface inspired Acme on Plan 9. Oberon is a very nice, fun and cozy system and environment for programming. I lived in it for a few months back around 2010 and it was a joy.
I'd like to be able to dock panels of information, live-edit pieces of code instead of just "accept? Y/N", have side interactions, have real scroll bars and proper clipboards, even a live REPL alongside.
Instead we get Claude Code's janky "60fps TUI" full of bugs and barely interactive.
Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#28This is lovely. And I bet it is very fast on that hardware, all things considered.
Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#29Earlier quoted context omitted.
> I still hope to see the world where Oberon is the future (and present) of OS and programming language design I see you're into horror stories. Oberon is absolutely a horrible language. It's an example of how you can screw up a good language by insisting on things that were important in 1960-s. Like not allowing multiple returns (not multiple return _values_ but multiple returns).
There's an argument (and I think a good one) that in structured programming there should be only one return per function. It's not that hard -- you just have a variable and you set it to what you want to return and the last line of the function returns that variable. I think that some things Wirth did with Oberon, particularly in the post Oberon-OS versions like Oberon-07, are a bit restrictive, but they are always i…
Structured programming was the answer to the earlier mess with unstructured gotos, but in the process of trying to improve it, structured programming became just as messy when taken dogmatically.
In real life, what matters is the mental load. Every ambient condition that you need to track adds mental load. Early returns/breaks/continues reduce it while in a "structured program" you have to keep track of them until the end of the function.
> It's not that hard -- you just have a variable and you set it to what you want to return and the last line of the function returns that variable.
And also have a flag "skip to return" to skip all the conditions. Or you end up mutating arguments of the function. I know, I suffered through programming on Standard Pascal.
Re: Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)
#30Earlier quoted context omitted.
> I still hope to see the world where Oberon is the future (and present) of OS and programming language design I see you're into horror stories. Oberon is absolutely a horrible language. It's an example of how you can screw up a good language by insisting on things that were important in 1960-s. Like not allowing multiple returns (not multiple return _values_ but multiple returns).
Show me significant concepts implemented in today's languages which cannot directly be traced back to "things that were important in 1960-s" or seventies ;-)
Insisting that the problems of 1960 are the only thing that matters, and MUST be solved dogmatically is not.