Remix.run Logo
lproven an hour ago

9front is the community fork of the OS that the creators of UNIX and C did next.

This is what Dennis Ritchie and Ken Thompson did to fix the faults in the Unix design.

Linux, FreeBSD, NetBSD, OpenBSD, and all the other FOSS Unix-like OSes are community recreations of the flawed AT&T Unix.

9front is the continuation of the OS that came next.

MisterTea 29 minutes ago | parent [-]

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...

pram 6 minutes ago | parent | next [-]

That XTerm readme is pretty funny

"Abandon All Hope, Ye Who Enter Here"

lproven 10 minutes ago | parent | prev [-]

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:

https://go.dev/talks/2012/splash.article#TOC_5.