On Sunday, March 26, 2017, Larry McVoy <lm@mcvoy.com> wrote:
On Sun, Mar 26, 2017 at 09:26:00AM -0700, Lyndon Nerenberg wrote:
> P.S.  A fun example of the simplicity of the
> plan9 network API is this implementation of rlogin:
> http://plan9.bell-labs.com/sources/contrib/rsc/rlogin

So while that is really neat, I personally think that's part of why Plan 9
didn't take off.  It's too clever, at least for me.  I know the rlogin
code pretty well and if you showed me that code and asked me what it was,
without the comments, I don't think I would have put it together.  On
the other hand, show me the C code and I'd be able to figure it out.

It's perhaps because I'm not the sharpest tool in the shed, but I really
like how blindingly obvious a lot of the original Unix code was.  Not saying
it was all that way, but a ton of it was sort of what you would imagine it
to be before you saw it.  Which means I understood it and could bugfix it.


A lot of original UNIX code was simple, but we ended up with 272 lines of 
bloat in echo.c[1].  That bloat started to creep in already in the beginning 
when Rob Pike formulated his famous presentation on cat(1)[2].  I also
think that sockets implementation was the turning point.

Plan 9 was probably the last truly dedicated effort to keep it simple using 
the UNIX way of doing things.  I much prefer reading its code than GNU 
or FreeBSD.  I think the world really needs a Unix operating system which
is as simple and elegant as Plan 9.

[1] http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/echo.c
[2] http://harmful.cat-v.org/cat-v/unix_prog_design.pdf

--Andy