My comments on the UNIX-HATERS Handbook

Ok, now I have read it. Even though it has a tad more than 300 pages, it took only an extended evening (finished it up during breakfast). Reading it is fun, even if the tone can get on your nerve.

Dennis Ritchie's comments on the ``whining tone'' surely fit, but complaints are the whole point of the book -- I am sure that the authors and many of the contributors to the UNIX-HATERS mailing list know why a particular mis-feature works the way it does; but they simply don't care about the reasons: they only care for the final effect.

When first scanning the topic list (documentation, sendmail, usenet, terminal control, x-windows, shell madness, makefiles and the programming environment, C++, system administration nightmares, security issues, file systems, NFS), I thought ``why, this isn't about UNIX¹ at all, it's about different implementations' problems, and about bugs in tools usually associated with UNIX``.

Then I saw my fundamental error: for the user, (and for the programmer!), those tools are UNIX. Their idiosyncrasies are firmly embedded in shell scripts, makefiles, and system() calls.

The implementations have bugs mainly in those sections where there is no specification -- or, far worse, where there are many different specifications , all in a state of permanent change (sendmail) -- and where each implementation is coded around UNIX-specific weaknesses (case in point: file locking).

The section on X is probably the most ``positive'' one, since it contains permanent reference to Sun's dead NeWS system, and to the near-dead NeXT window system, which are touted as much better. While Display PostScript is most definitely the way to go, NeXTStep 1.x was horrible; how I wished to have xrdb resource files! And strangely, no word was said about NeXTs documentation, which was almost non-existent: the ``user friendly'' documentation did omit documentation on many interesting and important things, and there were no man pages at all for many system programs! See, I can whine as well as the authors!

One point was really well made: UNIX has developed by distributed accretion of new features, sometimes made worse by mergers of different versions. Designers of new UNIcES don't throw out old stuff, because ``programs might depend on it''. On the other hand, new releases of any major piece of software routinely break anything they touch (case in point: X11Rn+1 vs. X11Rn).

Interestingly, Doug McIlroy is quoted in [A Quarter Century of UNIX] with

It's the virtue of being a research center. You don't have to keep any old software running.
Which could be the very reason Plan-9 is not out in the field right now. How much creeping featuritis is there on the Linux CDs?

While I still think that UNIX often does the Right Thing(TM), I am somewhat more critical of it than before reading this book. On the other hand, I was a fan of the Macintosh approach to document-processing software design from day one.


¹ I shamelessly steal the footnote on the UNIX trademark:

Once upon a time, Unix was trademark of AT&T. Then it was a trademark of Unix System Laboratories. Then it was a trademark of Novell. Last we heard, Novell was thinking of giving the trademark to X/Open, but, with all the recent deal making and unmaking, it is hard to track the trademark owner du jour.


This page was last changed on Jan 12 1995, 14:28 by mfx@pobox.com. Comments and corrections welcome.