3 ms·
"With Project Oberon we have demonstrated that flexible and powerful systems can be built with substantially fewer resources in less time than usual. The plague
by wombatmobile 6y ago
"With Project Oberon we have demonstrated that flexible and powerful systems can be built with substantially fewer resources in less time than usual. The plague of software explosion is not a "law of nature."
What then, in the software world, is a "law of nature", and how might we discover such a law/s by examining evidence, such as, the evidence deposited over the last 25 years of software proliferation?
Might we examine source code, or executable code?
Or number of users?
Or revenue from sales?
Or aesthetic qualities of the source code, such as structure, legibility, or maintainability, or portability; or qualities of the executable code, such as size, performance, or intuitiveness of the UI?
- eterps 6y agoOne thing that has been sorely missing IMO in the last 25 years of software proliferation is a complete usable system that can be understood in its entirety by a single human being in one lifetime. It doesn't have to be your day-to-day desktop, but for learning, research and experimenting I think solutions with that goal would still be worthwhile.
- chriswarbo 6y agoViewpoints Research Institute (VPRI) tried to make such a system around 10 years ago http://www.vpri.org http://www.vpri.org (e.g. http://www.vpri.org/pdf/tr2012001_steps.pdf http://www.vpri.org/pdf/tr2012001_steps.pdf ) IIRC it bootstraps from a prescheme-like language into a Smalltalk-like dynamic language ( https://www.piumarta.com/software/maru https://www.piumarta.com/software/maru https://www.piumarta.com/software/cola https://www.piumarta.com/software/cola ), and uses PEG parsers ( https://en.wikipedia.org/wiki/OMeta https://en.wikipedia.org/wiki/OMeta ) to implement domain-specific languages, e.g. the Nile graphics language ( https://github.com/damelang/nile https://github.com/damelang/nile )
- eterps 6y agoThanks, I am aware of the research at VPRI. However nothing coherent seems to have come out of it. Yet I am running a complete Oberon system on my laptop as we speak. And all source and documentation is available at http://www.projectoberon.com http://www.projectoberon.com I really liked the idea though.
- scroot 6y agoI really wish he would release the updated Oberon book in another format besides PDF.
- kqr 6y ago> a complete usable system that can be understood in its entirety by a single human being in one lifetime. Wait, what does that even mean? I assume it cannot, then, run on hardware executing any form of microcode because that adds many man-years of what's essentially software complexity to the problem. What I'm trying to say is that at some point you have to draw a line and say "anything below this line is considered the platform the software runs on, and does not need to be included in the understanding" and where you draw this line is completely arbitrary. One might argue that x86 is a platform that doesn't have to be understood, as long as one understands its interface. Someone else can argue that the JVM is a platform whose internals need not be understood. Yet other people popularly picture the web browser as their platform. In the extreme case in the other direction, electrical circuits (with a dash of quantum mechanics, I think?) could be considered the platform of the x86. I have yet to hear a rational argument for why a particular thing counts as "the platform" more than any other.
- eterps 6y ago> Wait, what does that even mean? I assume it cannot, then, run on hardware executing any form of microcode because that adds many man-years of what's essentially software complexity to the problem. Have you looked at the hardware design at http://www.projectoberon.com http://www.projectoberon.com ? > What I'm trying to say is that at some point you have to draw a line and say "anything below this line is considered the platform the software runs on, and does not need to be included in the understanding" and where you draw this line is completely arbitrary. What I am trying to say is that Project Oberon proofs it's possible to run it on a hardware design that can be understood by that same human being in one lifetime. > I have yet to hear a rational argument for why a particular thing counts as "the platform" more than any other. Again, I am talking about the complete thing. And how is this even a discussion? The amount of added complexity when you compare an Oberon system with a modern phone or desktop is staggering. Especially if you go as deep as the microcode level.
- kqr 6y agoMaybe part of the problem is that I underestimate how much a human can understand in a lifetime! Thinking more critically about it, you might be right that it's possible to accomplish more than I expect.
- joveian 6y agoNetBSD (and I'd guess OpenBSD) are closer to that than any other similarly functional operating systems I know of. Still quite a lot of code (and arguably not complete, depending on how you define that) but way easier than Linux.
- eterps 6y agoI would say that Xv6 or Xinu are much closer than any BSD if you're willing to disregard the implementation of the compiler, graphical display and hardware/firmware it runs on.
- keedon 6y agohttp://www.projectoberon.com/ http://www.projectoberon.com/ has all of the source and the Oberon book
- p_l 6y agoIf you reduce essential complexity to minimum, such a task is trivial to experienced engineers and computing scientists, like Wirth himself. Like many such products, it will work so long as you're able bodied and only need the same human language as the author, preferably one that doesn't have complex requirements and can fit in 7 bit ASCII. I no longer have the source, but a great example someone once gave was that Oberon had pretty minimal support for anything, to the point that sharing information by email was hard due to "how do I share my paper" problem.