5 ms·
Oberon Pi
- anthk 2y agoDuskOS it's integrating oberon too. https://git.sr.ht/~vdupras/duskos https://git.sr.ht/~vdupras/duskos
- xkriva11 2y agoThere is Ultibo based bare metal Oberon version too: https://github.com/MGreim/ultiboberon https://github.com/MGreim/ultiboberon
- pdw 2y agoI think this just a standard Raspberry Pi Linux distro with an emulator for "Project Oberon 2013" preloaded. Oberon has a tortured version history, so it takes a bit to explain what "Project Oberon 2013" is, but it's basically representative of Oberon in a very early stage of development. This version was originally described by Wirth in his 1992 book "Project Oberon: The Design of an Operating System, a Compiler and a Computer". After his retirement he prepared a new edition, which came to be known as "Project Oberon 2013". For this edition he switched out the "computer" part -- the original used the now extremely obscure NS32000 CPU, the new edition used a custom RISC architecture implemented on an FPGA. But otherwise than this "implementation detail", the system was unchanged. (And of course, given the FPGA source code, it's easy to build an emulator.) But if you try this and it feels primitive -- it is. Later versions of Oberon got much fancier.
- skoodge 2y agoAre there any "guided" walkthroughs for someone who has never used Oberon (or any of its later versions like Bluebottle or A2) that demonstrate its most unique UI/UX aspects? Something along the lines of Russ Cox' Tour of the Acme Editor[0] but for Oberon? Oberon seems fascinating and I would like to eventually play around with it in an emulator, but any resources that show how it's being used (as opposed to a description of its design like in Wirth's book for example) would be appreciated. [0]: https://www.youtube.com/watch?v=dP1xVpMPn8M https://www.youtube.com/watch?v=dP1xVpMPn8M
- jonjacky 2y agoThere is Wirth's 4 page guide, How to use the Oberon System https://people.inf.ethz.ch/wirth/ProjectOberon/UsingOberon.pdf https://people.inf.ethz.ch/wirth/ProjectOberon/UsingOberon.p... Also The Oberon Pi Quick Reference and System User Guide at this project page.
- lproven 2y agoThere's a lot of Oberon documentation on Wikibooks: https://en.wikibooks.org/wiki/Oberon https://en.wikibooks.org/wiki/Oberon
- owlstuffing 2y agoIf this interests you, I highly recommend Luca Boasso’s oberonc project for the JVM[1]. 1. https://github.com/lboasso/oberonc https://github.com/lboasso/oberonc
- lboasso 2y agoAuthor of oberonc here, thanks for trying it out :)
- skoodge 2y agoThe linked pdfs on that page are wonderful. I reread Wirth's Plea for Lean Software and it still holds up remarkably well. It reminded me of Alan Kay's VPRI and the STEPS Toward the Reinvention of Programming which unfortunately ended in 2012. Oberon also doesn't seem to be actively developed anymore as far as I can tell. Are there any similar projects that are still being actively worked on?
- m_mueller 2y agowas there ever a post mortem on STEPS? I'd like to know what happened as the demoes and ideas they had looked awesome.
- drob518 2y agoThe paper archive is still up. There were various interim reports generated for STEPS. I assume there was a final report as well, but I don’t remember reading it, myself. Vpri.org still works.
- mpweiher 2y agoFinal report is here: https://tinlizzie.org/VPRIPapers/tr2012001_steps.pdf https://tinlizzie.org/VPRIPapers/tr2012001_steps.pdf
- Rochus 2y ago> Oberon also doesn't seem to be actively developed anymore as far as I can tell See https://github.com/rochus-keller/Oberon https://github.com/rochus-keller/Oberon, and derived languages such as https://github.com/rochus-keller/Luon https://github.com/rochus-keller/Luon or https://github.com/rochus-keller/Micron https://github.com/rochus-keller/Micron, which inherit the "spirit of Oberon", but specialize for other use-cases than the original.
- vrotaru 2y ago> Oberon also doesn't seem to be actively developed anymore That's pretty much it, for maybe 10+ years now. There was a successor project BlueBottle with some promise, but it did not deliver. Later it was renamed to A2. Surprisingly, it did not help. https://en.wikipedia.org/wiki/A2_(operating_system) https://en.wikipedia.org/wiki/A2_(operating_system) IMO the authors of BB/A2 bet heavily on XML/Java hype, and were trying to make Oberon more like Java. The result was something without much internal consistency and not very usable. Not being able to use a major browser and not having the resources to write one from scratch did not help either. Then some of the major figures of this project left. And that was it. There are some hobbyists and some small businesses which use it for niche projects and that is all
- Rochus 2y agoSee https://news.ycombinator.com/item?id=43883747 https://news.ycombinator.com/item?id=43883747
- wirrbel 2y agoReally cool to see Oberon / Modula retro-tech stuff on the front page. Whats somewhat interesting is how structurally similar Oberon is to Go. One could say Go is Oberon dragged halfway towards C/Unix conventions (curly braces) with Go channels slapped on. Rob Pike was aware of Wirth's work, as his ACME editor (https://en.wikipedia.org/wiki/Acme_(text_editor) https://en.wikipedia.org/wiki/Acme_(text_editor) ) took inspiration from it. So either way, if there was inspiration for Go form Oberon or if there was not [a case of convergent evolution I guess in that case], it shows the strength of Wirth's thought.
- deleted 2y ago[deleted]
- timbit42 2y agoI would say Go is C dragged halfway towards Oberon. It's essentially the core group that created and used C admitting Wirth's work was better.
- pjmlp 2y agoThey were already inspired by it for how ACME works, and one of the creators, is a former ETHZ student, with a PhD in Oberon research.
- cyberax 2y ago[flagged]
- vidarh 2y agoNot liking Oberon is fine, but calling it a "generic half-assed language" is at best grossly ignorant of the effort that went into the design. Wirth had a very clear philosophy for his language, that he followed relentlessly. If you don't like that philosophy, you won't like Oberon, but there's nothing half-assed about it. With respect some of your points, the lack of support for early returns is one of those philosophical decisions, as is many of the other "missing" features. Many of them were implemented in various versions by students of Wirth. Polymorphism for Oberon was the subject of at two projects at EHTZ in the 90's, including an at the time fairly novel approaches for a runtime extensible vtable approach to polymorphism. As for your #5, to me that's one of the most horific warts I can think of in the languages that use it, but again a question of philosophy, and certainly one aspect of Go I detest. But to go back to Oberon, as a language user, I find Oberon too austere, but as an implementer, the design is beautiful in its simplicitly and how clean it is, and I wish more language implementers paid attention to Wirths work as a starting point, and paid attention to his systematic approach to language design - even if I'd prefer a result that isn't as minimalist.
- rbanffy 2y agoThere used to be an Oberon app on Apple's app store. I ran it on Intel Macs for fun. It's sad it's no longer there. On a side note, there was also an AT&T Blit terminal emulator that also vanished.
- rbanffy 2y agoAs learning experiences, what would be the difference between picking 9front and Oberon?
- teddyh 2y agoInteresting name, considering that the “Pi” in “Raspberry Pi” was originally “Py”, since it was originally meant to boot directly into Python.
- qwerty456127 2y agoWhat is Oberon useful for? Apparently it's not very feature rich: limited Unicode support, limited graphics support, no XML, no JSON, no HTTP. Or am I wrong?
- lproven 2y agoI like this a lot... But I'd love to to see a true bare-metal port even more. A2 used to support StrongARM bare-metal. The tools are out there.
- boznz 2y agoI like hiding little easter eggs in my novels, I added a sneaky reference to Professor Wirth and Oberon in my last novel only one person I know got the reference.
- wsc981 2y agoDoes anyone know if there's any (free online) university courses for writing your own OS on the Pi?
- lproven 2y agoLike this? https://github.com/bztsrc/raspi3-tutorial/ https://github.com/bztsrc/raspi3-tutorial/ Or this, which builds on it? https://www.rpi4os.com/ https://www.rpi4os.com/
- wsc981 2y agoThanks I encountered the Github repo earlier and it can be useful. Didn't find the second link myself so that's cool. I wonder if there's some lectures to follow as well, on this topic.
- rgleaves 1y agoTo address various misconceptions posted by commenters here: >> I think this just a standard Raspberry Pi Linux distro with an emulator for "Project Oberon 2013" preloaded. No, it's the standard Oberon 2013 with nontrivial changes made to the UI, to make it significantly easier to learn and use than Oberon 2013. Oberon Pi runs as an app on the standard Raspberry Pi OS, using the standard Oberon RISC emulator written in C. >> Are there any "guided" walkthroughs for someone who has never used Oberon Yes. The Oberon Pi System User Guide was specifically written to address this learning gap in the existing Oberon doc universe (though it is specific to Oberon Pi). Note that the system user guide is included in the Oberon Pi release as an integrated help document. >> limited Unicode support, limited graphics support, no XML, no JSON, no HTTP. Oberon is a historical software system which predates all these features – to judge it by contemporary software standards is ahistorical. >> Go has several significant differences that made it far more useful >> I'd love to to see a true bare-metal port Because Oberon is historical, upgrading it to compete with contemporary software entirely misses the point. But teaching Oberon in computer science education would be entirely apposite, for the same reasons as teaching algebra and geometry.