For Programmers, Not Users 55
This is not to say that the source code contained worthwhile secrets. Any-
one who had both access to the source code and the inclination to read it
soon found themselves in for a rude surprise:
/* You are not expected to understand this */
Although this comment originally appeared in the Unix V6 kernel source
code, it could easily have applied to any of the original AT&T code, which
was a nightmare of in-line hand-optimizations and micro hacks. Register
variables with names like p, pp, and ppp being used for multitudes of dif-
ferent purposes in different parts of a single function. Comments like “this
function is recursive” as if recursion is a difficult-to-understand concept.
The fact is, AT&T’s institutional attitude toward documentation for users
and programmers was indicative of a sloppy attitude toward writing in gen-
eral, and writing computer programs in particular.
It’s easy to spot the work of a sloppy handyman: you’ll see paint over
cracks, patch over patch, everything held together by chewing gum and
duct tape. Face it: it takes thinking and real effort to re-design and build
something over from scratch.
Date: Thu, 17 May 90 14:43:28 -0700
From: David Chapman <[email protected]>
To: UNIX-HATERS
I love this. From man man:
DIAGNOSTICS
If you use the -M option, and name a directory that does not exist, the
error message is somewhat misleading. Suppose the directory /usr/foo
does not exist. If you type:
man -M /usr/foo ls
you get the error message “No manual entry for ls.” You should get an
error message indicating that the directory /usr/foo does not exist.
Writing this paragraph must have taken more work than fixing the
bug would have.