[TUHS] FD 2

Dan Cross crossd at gmail.com
Tue Jan 31 02:09:03 AEST 2023


On Mon, Jan 30, 2023 at 10:45 AM Larry McVoy <lm at mcvoy.com> wrote:
> On Mon, Jan 30, 2023 at 10:35:25AM -0500, Dan Cross wrote:
> > Plan 9 was different, and a lot of people who were familiar with Unix
> > didn't like that, and were not interested in trying out a different
> > way if it meant that they couldn't bring their existing mental models
> > and workflows into the new environment unchanged.
> >
> > At one point it struck me that Plan 9 didn't succeed as a widespread
> > replacement for Unix/Linux because it was bad or incapable, but
> > rather, because people wanted Linux, and not plan9.
>
> Many people make that mistake.  New stuff instead of extend old stuff.

Some would argue that's not a mistake. How else do we innovate if
we're just incrementally polishing what's come before?

Computing now is radically different than when I started, but if I'd
listened to my betters back then, it wouldn't have changed all that
much. Actually I _did_ listen to my betters, and now I'm sad that I
missed out on a lot of exciting things.

> Look at programming languages for instance.  We had C, it was pretty
> simple to understand, but people wanted more stuff.

I think C is a language that people _think_ is simple to understand,
and perhaps _was_ simple to understand, but is actually remarkably
subtle and a _lot_ of people don't actually have a great handle on how
it really works anymore. Particularly now, when the compiler people
seem to be prizing optimization above all else and so even obvious
behavior that's technically "undefined" results in unexpected behavior
(e.g., `if (a > 0 && b > 0 && a*b) < 0) overflow(); // signed integer
overflow is UB`. Maybe sadly, C hasn't been a portable macro assembler
for decades now.

> So now we have
> things like Rust that is pretty much completely different.  Could we
> not have extended C to do what Rust does?  Why do we need an entirely
> different syntax to say the same things?

People tried to extend C to do the things that Rust does and it didn't work.

> Seems like Plan 9 fell into that trap.  When you invalidate all of the
> existing knowledge that people have, that creates a barrier to entry.

Plan 9, as a research system, was an experiment in doing things
differently. As a research system, it was remarkably influential: a
lot of the ideas made it into e.g. Linux. Imitation is the most
sincere form of flattery. As a production system, people just wanted
Linux. There was a time when people wanted to try out new ideas; oh
well.

> As you said, people don't want to give up their mental model when that
> model works.  They'll only give it up when there is at least a factor
> of 2 improvement that they care about.  These days it feels like people
> are stuck enough that they want a factor of 10.

Yup, that's about right. The mainframe is still going strong, after all!

        - Dan C.


More information about the TUHS mailing list