💾 Archived View for stack.tilde.cafe › gemlog › 2022-08-29.oberon.gmi captured on 2023-09-08 at 16:14:18. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
A recent discussion brought up the ghost of Oberon...
gemini://54.203.8.106/why.not.oberon.gmi
In 2016 I put together an Oberon hardware system based around an FPGA. It seemed like it would be a dream computer.
https://web.archive.org/web/20180102133953/http://oberonstation.x10.mx:80/
OberonStation was a tiny computer with a VGA output and ports for keyboard and mouse. It booted into Oberon in under a second, and featured an SD-card slot and ton of ports.
It seemed like an ideal computer, the kind I always blab about. Not a trace of Intel inside - just a simple (too simple, perhaps) RISC CPU, fully described in the documentation, designed for the sole purpose of running compiled Oberon.
But then I tried to write some simple code.
Working without the comfy modern infrastructure is painful.
Sometimes I like to think of myself as a frontiersman, capable of living without modern comforts, should the need arise. But the truth is that I am a wuss who needs a comfy bed and a good deal of quiet at night, and that's a far cry from taking turns chasing away the wolves and sleeping in a pile of dirt.
Not having an easy way to move data around, is hard. Not having a file system that makes sense, and at least a simple way to copy or rename files makes you wish for the sophistication of Commodore 64 or CP/M. The integrated editor environment made me wish for the simplicity of vim (and I can barely use vim).
And then there is Oberon.
It has syntax. And I am spoiled by Lisp which has hardly any, just parens... Well, except for DSLs, domain-specific-languages you build. And Forth, which has no syntax, because all of Forth is really a DSL, especially the parts you write. And even C, which, at least, is very terse.
I was never a huge fan of Pascal or Modula, to be honest, so it is not a great surprise that I was not crazy about an even-more-complicated-and-verbose version of that linguistic branch. I think it was the first time I longed for C.
I found myself unable to (voluntarily) code in Oberon. Mostly because the syntax just irked me. I know it sounds petty, but all the little things just bugged me. Capitalization rules. Having to write out BEGIN and END all the ****ing time. Typing in general, and the syntax. Having to write out "POINTER TO INTEGER", for some reason, while "VAR" is abbreviated. No metaprogramming.
So in spite of all the amazing innovations of the Oberon environment (everything is a command and such), and the fact that the entire system is described in a way that a single individual with reasonable technical skills can actually understand the entirety of it... I could not use it.
I could understand it, yes. But I could not get myself to use it.
I found myself trying several times, and each time I could feel my head heating up as expletives flew in random directions. Why was I torturing myself like that?
So after a few tries I gave up. Who needs that kind of stress.
The Oberon computer makes a nice paperweight/conversation starter.