The writing style of a Why-To is a lot different of a How-To.
While a How-To tries to make you quickly reach your goal, therefore being short, terse and often not very in-depth, a Why-To actually tells you why to do the stuff explained, and why it’s best. This is amazingly more fun to read and very instructive.
An example of a recent Why-To would be “The Art of Unix Programming” by ESR. It gives the probably most complete insight into the fundamentals of Unix and why they did the stuff that way.
Another really good example in case of Unix would be “The Unix
Programming Environment” by Kernighan and Pike, which does the step
from a very basic Unix command line introduction to a full-fledged C,
Lex and Yacc using calculator,
hoc. In between, shell scripts are
extensively covered and a simple version control system is
It is, as said, a really great book, but unfortunately outdated and a lot (esp. of the arbitrary limits and “small” bugs of the tools) isn’t true anymore in a modern GNU environment.
I’d really like to see an introduction to GNU (and other open-source Unixes) written in that style of instructiveness.
Why’s Poignant Guide would probably be a very nice example of a Ruby why-to, and that with a special sense of humor. :-)
NP: Dan Bern—Hiroshima