Plan 9 is mostly Rob Pikes idea and did not involve Ritchie heavily. https://doc.cat-v.org/plan_9/1st_edition/designing_plan_9
Recently, Pike commented that he designed Plan 9 so he could build the windowing system he wanted. (edit: oops, link) https://9fans.topicbox.com/groups/9fans/T4fec171fec7e3845-M2...
Additionally, the end stop was Inferno and not Plan 9.
Rob Pike also acknowledged that leaving GC out of Alef and going back to C was a mistake, speaking of which the Plan 9 C compilers continued to be their own thing instead of blindly following the new language standard.
I knew this about Pike, but not Ritchie. Thanks.
I think, though, that one of the vastly underestimated aspects of Plan 9/9front is its simplified C.
AIUI one of the biggest differences is that a file is not allowed to `#include` anything that has already been #included in a parent project. You are not allowed to nest #includes.
The result is vastly reduced compile times. I have read claims of over 1000x fewer lines of code going through the compiler.
(Sure, disk caching helps a lot, but it still has to go through CPU.)
Cleaning up a codebase is a massive PITA but it's a one-time job and I have read comments that once you learn this, it quickly becomes habit.
Imagine if that was put into C29 as an advisory.
Decades and centuries of compute-time saved.
This is standard in Go, which is of course Pike's more recent baby.
ANSI C let you get away with this, which sounds like one of the more epic mistakes:
That XTerm readme is pretty funny
"Abandon All Hope, Ye Who Enter Here"
So that would be 'rio'?[0] I can find screenshots but haven't found much that explains how or why it's different -- what I've read explains it's not how it looks so much as how it functions, eg, each process genuinely own a console or mouse rather than getting events from the OS as you might in, say, Windows. I can't tell if I am understanding this correctly, of course.
I do know that in Plan9, 'everything is a file' is literally correct. So owning a mouse would mean reading from /path/to/mouse. But what I've also read is that every process can do so believing they own it - it's theirs exclusively?
For anyone reading this comment in future please do not trust it, I don't know what I'm talking about, except that standard references I've found don't fully explain.
[0] https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Graphica...