4 ms·
Not only have I heard of Oberon, I've written code for it! The Oberon programming language is a nicer-than-average descendant of Pascal and Modula-2. The compi
by ekidd 4y ago
Not only have I heard of Oberon, I've written code for it!
The Oberon programming language is a nicer-than-average descendant of Pascal and Modula-2. The compiler was reasonably fast even in the 90s.
The UI was strange enough to feel really interesting. As the article mentions, you could type a command anywhere and click it. And the older version I used had tiling windows, although this seems to have changed.
But one especially neat feature is that the system was based around a rich-text format that you could extend! I wrote a little clock widget that I could instantiate anywhere, inside any rich text, and it would give me a live time readout.
In practice, Oberon already felt like a toy system when I used it, because it was missing tons of useful software. But as toy systems went, it was rich and original and well-worth a couple of weekends of exploring and coding.
If you enjoy the idea of operating systems that explored a different path, this is one of the more interesting ones. If you're fascinated by systems like the Lisp Machine, or SmallTalk, or OLPC, where the entire system is meant to be easily understandable and hackable, take a look.
- goatsneez 4y agoFYI, a flavor of Oberon will also fly to space soon it turns out... https://arxiv.org/abs/1709.03404v1 https://arxiv.org/abs/1709.03404v1
- aebtebeten 4y ago> ...all memory accesses are indirect ... module-data is position independent and may be moved in case memory should fail due to radiation damage. I once used a debugger that shipped with a rather snarky easter egg command: "find my bug". One of its more useful suggestions was "Maybe a cosmic ray error? Use smaller chips!".
- PcChip 4y agoWouldn't smaller chips make the problem worse?
- 082349872349872 4y agoI think it jocularly meant "use something with fewer gates and a smaller cross section", not "use a smaller feature size". Or I could easily have misremembered: this was all last century.
- AnimalMuppet 4y ago> Or I could easily have misremembered: this was all last century. Don't understate the difficulty of remembering. This was all last millennium.
- aliqot 4y agoImportant not to also understate that some of us spent more time in the former than the current.
- tanakian 4y agoTrue! Smaller and closer the units, more probability that the particle would hit something useful.
- i_don_t_know 4y agoInterestingly, one of the authors (Felix Winkelmann) created Chicken Scheme and their Oberon compiler appears to be written in it.
- Rochus 4y agoThat's an interesting paper, thanks for the link. Though the resulting language is barely Oberon anymore, since even type extension is removed, not only dynamic memory management (and with it the GC). It seems to have less features than Oberon-0 described in Wirth's compiler book.
- slim 4y agoAlso the whole OS was a 1.44' bootable floppy disk which booted in 10 seconds on a 486
- sleepydog 4y agoI think you meant it fit on 3.5” floppy drive (1.44 MB). Fitting on a 1.44 foot floppy disk would be much less impressive :P
- suprjami 4y agoIs there an image of this floppy floating around anywhere?