Rendered at 23:41:53 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
mikethe 2 hours ago [-]
I am currently exploring languages, operating systems.. my conclusions so far are that the two fish in the pond are plan9, and oberon. I am also aware of Geoff Collyers criticisms of RISC-V, and the criticisms of oberon of principia-softwarica. But that's about where my knowledge ends. I am also extremely suspicious of any project that makes any use of c++, being familiar with both the art of unix programming, and the attitudes of the suckless community.
Something that really surprises me is, a project so closely connected to the simplicity and elegance of oberon, also connected to c++, a language so widely vilified for complexity and ugliness, and with which oberon itself, apparently, competes. I'm sure there must be really good reasons for all this.
mikethe 1 hours ago [-]
I should make this clearer.
On the one hand, the art of unix programming claims that object-orientation only succeeds at solving certain problems by creating something sufficiently complex that the human mind can barely cope. Then I read that oberon solves problems that c can't solve, while claiming to be better than c++. Then I read, in principia, that oberon is only simplified by getting rid of all the really interesting and valuable functionality that is in plan9.
So the questions: is that functionality really necessary, or is oberon really all we need? and.. what would a plan9 system written in object-oriented oberon look like? in oberon+ with concurrency/parallelism? would this result in a better system than the current plan9? And what about safer languages like ada? (rust being based on c++, and therefore not being a real contender..)
People unaware of Project Oberon should rather have a look at https://projectoberon.net/ where they can find the free book and additional material by Prof. Wirth.
thisislife2 7 days ago [-]
Love your commitment to this. You are doing excellent work to keep Wirth's computing spirit alive. Oberon's philosophy ( https://people.inf.ethz.ch/wirth/Oberon/Oberon07.Report.pdf ) is beautiful for the power it hides behind its simplicity and I wish it was a more popular language ...
Rochus 7 days ago [-]
Thanks. Though I migrated the code from Oberon-07 to Oberon 90 (so I could compile it with my OP2 version) and currently I even migrate it to my forthcoming Micron language. The Project Oberon System is very well suited for these kinds of experiments.
clbrmbr 7 days ago [-]
Would it be practical to have the ESP P4 self-host?
Rochus 7 days ago [-]
The ESP32-P4 is actually my target platform. I have a cross-compiler toolchain based on my own OP2 compiler version (see https://github.com/rochus-keller/op2/) which makes it easier to migrate. The Project Oberon System is an "intermezzo" for my actual goal, the Oberon System 3; the latter can also run my OP2 version and would thus be able to self-host. I didn't try yet to run OP2 under the Project Oberon System, but with some patience I assume it is feasible.
berkeleynerd 7 days ago [-]
This is super interesting Rochus. Are you targeting Oberon System 3 in particular because it adds tcp/ip networking support? In my opinion that would make it a much more interesting system to kick the tires on, if so!
Rochus 7 days ago [-]
Thanks. I rather do it as a "proof of concept" to demonstrate that the Oberon System is a (hopefully) great fit with today's microcontroller boards, particularly the Olimex ESP32-P4-PC, which even has a HDMI connector. I already migrated the system to the Raspi Zero 2 which is yet another lean target, but actually oversized for the Oberon System, which doesn't even require an MMU (not to mention multiple cores). The networking support code is currently not used, because it would require yet another (pretty complex) driver. But it might be feasible (with a lot of patience) to implement it directly on the board as soon as the system and compiler run stable on it.
> The whole system runs on a low-cost development board (Xilinx Spartan-3 by Digilent, with 1 MB of static RAM)
If somebody wants their FPGA work to be available, they better choose MiSTer FPGA from the beginning. Costlier, but way more likely to be found around.
My system version instead runs on RISC-V, so no custom FPGA implementation, currently on an emulator, but eventually on the ESP32 (which has a much better availability).
OCTAGRAM 7 days ago [-]
What do you think about ClockworkPi uConsole Kit R-01, ClockworkPi DevTerm Kit R-01, OrangePi?
Rochus 7 days ago [-]
I have mostly experience with the smaller (older) boards of OrangePi, and I think they have great boards, some even with a long availability.
Joker_vD 7 days ago [-]
> they better choose MiSTer FPGA from the beginning.
Well, the MiSTer project was yet 4 years from being launched back in 2013 when the RISC-5 was implemented in FPGA, so I hope you'd excuse Wirth from not choosing it.
Rochus 7 days ago [-]
And shortly after Wirth launched his RISC-5 system, the original FPGA board went out of production.
pjmlp 7 days ago [-]
Which most likely wasn't predictable for him.
FPGAs were never that maker friendly, due to the whole ecosystem.
butvacuum 7 days ago [-]
It probably was NRND on mouser/digikey by then... not that there was much choice in 2013- you went with what you had instead of $1000+ dev boards.
A brief glance at https://oberon-lang.github.io/2023/12/25/towards-concurrency... tells me that oberon+ supports parallelism, so I take that to mean that the criticisms in principia-softwarica no longer completely hold, at least for that new language.
Something that really surprises me is, a project so closely connected to the simplicity and elegance of oberon, also connected to c++, a language so widely vilified for complexity and ugliness, and with which oberon itself, apparently, competes. I'm sure there must be really good reasons for all this.
On the one hand, the art of unix programming claims that object-orientation only succeeds at solving certain problems by creating something sufficiently complex that the human mind can barely cope. Then I read that oberon solves problems that c can't solve, while claiming to be better than c++. Then I read, in principia, that oberon is only simplified by getting rid of all the really interesting and valuable functionality that is in plan9.
So the questions: is that functionality really necessary, or is oberon really all we need? and.. what would a plan9 system written in object-oriented oberon look like? in oberon+ with concurrency/parallelism? would this result in a better system than the current plan9? And what about safer languages like ada? (rust being based on c++, and therefore not being a real contender..)
<https://lists.inf.ethz.ch/pipermail/oberon/2026/017161.html>
If somebody wants their FPGA work to be available, they better choose MiSTer FPGA from the beginning. Costlier, but way more likely to be found around.
My system version instead runs on RISC-V, so no custom FPGA implementation, currently on an emulator, but eventually on the ESP32 (which has a much better availability).
Well, the MiSTer project was yet 4 years from being launched back in 2013 when the RISC-5 was implemented in FPGA, so I hope you'd excuse Wirth from not choosing it.
FPGAs were never that maker friendly, due to the whole ecosystem.