> 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.
> 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.
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.
Maybe 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.
IMO Project Oberon starts from the same principles and builds up to a productive enironment including text processing, a compiler, very basic hypertext, basic networking and hardware to run it on.
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.