[Wylug-discuss] The UNIX Haters Handbook...

Mark P. Conmy mpc at comp.leeds.ac.uk
Mon Aug 14 23:15:50 BST 2006


On Mon, 14 Aug 2006, Shaun Laughey wrote:
> On Monday 14 August 2006 18:14, Jim Jackson wrote:
>> I'd not come across this before, but for people interested in UNIX history
>> this is an interesting read. It's available on line as a PDF download -
>> all 300 odd pages, and I use the word odd advisedly...
>>
>> http://research.microsoft.com/~daniel/unix-haters.html
>>
>> I make no comment about the host site, or the fact that another of the
>> main editors works for Apple - somewhat ironically given Apple's
>> conversion to Unix. But the book was published in 1994.
>>
>> It has an interesting Anti-Forward by Ritchie.
>
> Thanks for that Jim, I skimmed through this polemic and I couldn't help
> thinking Windows all the way through the bits complaining about
> incompatibility between versions (and this is a series of OS's written by the
> same company) and then the bit about debugging was great. As a programmer who
> was once stuck in Microsoft DLL hell I'd have to say that Linux kicks ass
> when it comes to debugging.

You have to remember the time.  I read it first when it was new and
touted (for me) by the (very smug) Mac users who thought it explained
why they were superior.  It was also at the time of NeXT, which had even
more smug users than Apple.

But it makes as little _real_ sense now as when I read it in 1994,
except now we can read it with the hind-sight of what happened next.
These were people who didn't "get" Unix.  They couldn't see that the
structure was strong but the user interface needed work...nor did they
"get" the fact that fixing the interface on a strong OS was easier than
fixing the internals on a weak OS.  That Apple (belatedly) realised this
speaks to the fact that they aren't stupid....but (particularly at the
time), some of the Mac fans were religiously anti-Unix (moreso than
Windows people IME) to the point that they couldn't see that many of the
criticisms of Unix (excepting the interface) were just as applicable to
MacOS and most other systems available.

Unix has numerous (maybe innumerable) flaws, but it will be with us (in
various guises) for a long time because some of the underlying design
has proven itself capable for a large variety of tasks /and/ capable of
adapting to new challenges.

Yes, X has taken time to develop and has still got significant design
issues being worked on.  No, it wasn't keen to adopt some of the WIMP
principles (but let's not confuse it not being interested with not
being able).  Yes, many in the Unix world /liked/ choice and
configurability over bolted down consistency.

The Mac crowd, in particular, couldn't see that the GUI environment
wasn't a panacea to all users' requirements - that however limited the
pipes were, look at how limited the whole graphical metaphor was.  One
of the few companies of the day that made something worthwhile and
powerful in terms of GUIs (khoros) was ignored and had little impact;
the only system I can think of right now that harnessed that power is
NAG Explorer, and a seriously minority sport that is.

Hey ho.

Now we have distributions that are unashamedly clones of the other
platforms (hell, they've started to influence them).  We still have room
for those who prefer the command line _and_ MS and Apple have recognised
that there is some value in it too.  This is all good.

If Unix had completely disappeared and it was left to MS and Apple to
dictate user interfaces, where would we be today?  I fervently believe
we'd be worse off with fewer choices and less productivity.

As for the Lisp crowd, they have banged on for all of my life (and
longer) about how superior their solution is, but...

...as with all of those tagged in this book, they haven't "poneyed up".
I know that dmr has serious misgivings about Unix and how people haven't
moved on.  He's bang on (and I didn't realise it in 1994) about how this
contains sufficient "...undigested nuggets of nutrition to sustain life
for some...", but it misses the point in so many ways _largely_ because
of "...contempt and envy..." that they are lost.

Unix _almost_ got lost in its own contempt (early 90's BSD springs to
mind), but Linux changed that; suddenly, you had a community that cared
more about what you could achieve than some sort of "purity".  There is
_lots_ in Linux (and that's seeped into the *BSDs, as a result) that is
not inherently Unix, but Unix is better for it.

For those who bang on about how ____ is better, how using language ____
is better than language ____, how using philosophy ____ is better there
is a simple question: why not do it?  I agree with dmr when he says that
the original Unix is out of date.  I think Plan9 is more interesting.
Then again, when Plan9 was first released, I was very interested.  When
I saw the pricetag, I changed my mind.  If one comment in the UHG, it
was:

     "Like any good drug dealer, AT&T gave away free
      samples of Unix to university types..."

"Better" doesn't trump "good enough", particularly if it comes with a
high price tag.  Just as Lisp is "better" than a lot of languages, the
price tag is too high; try teaching Lisp to anyone and then try again
with C++ (the Lisp is more elegant and "better", but most people
struggle with it) and you discover that the theoretical benefits are
outweighed by the practical difficulties.  No wonder one of Linus'
favourite quotes is;

     "In theory, theory and practice are the same.
      In practice, theory and practice are different."

That's why *BSD failed, NeXT failed, Display Postscript failed and a
whole load of other things failed.  Unix (and Linux) have actually
delivered.

But I am (as I've said) not blind to Unix/Linux failings (and they are
many), but neither should the ability to point to deficiencies mean
failure, unless you can show me equivalent functionality with fewer
failures.

But I am wasting my time.  I am neither as clever nor as eloquent as dmr
and, IMO, his "anti-foreword".  He hits the nails on the head.  I look
forward to the future in the real belief we will see solutions to those
issues raised that have not already been solved, but equally holding
other beliefs:

     * that _all_ OSs will benefit from such advances;
     * that no OS will be the "magic bullet";
     * that no language will fulfill all needs;
     * that Unix will continue to evolve and incorporate what's required.

While people think it's a race, particularly where people believe that
one tribe's success costs all other tribes, we are all worse off;
competition is healthy and free exchange of ideas enriches us all.

Mark [on holiday, in theory]




More information about the Wylug-discuss mailing list