Programming Books
I haven't read many books about programming.
Most of them aren't about what I want to know.
Nobody ever seems to
publish anything like
How to Tell When Motif Is Being Demented and Evil
As Usual and When it's Just You. Most
textbooks should simply be burnt.
Still, there are books out there which I actually learned something from.
These are the books I keep around, in my mind if not on my shelves.
-
The Unix Programming Environment, Kernighan and Pike.
Plan 9 Documents and Manuals,
Bell Labs.
-
Two operating systems built around the same powerful concepts.
Plan 9 is still relatively obscure, but it may yet spawn a swarm
of "how to" books -- twenty or thirty years from now.
-
The C Programming Language, Kernighan and Ritchie.
-
Check out the first edition if you can. C owes a lot of its success
to the clarity and elegance of this book. It is
glorious.
-
Effective C++: 50 Ways to Improve Your Programs, Scott Meyers
-
An entertaining, highly readable book on the benefits and pitfalls
of C++ programming. Get the ARM but read this first.
-
The Art of Computer Game Design, Chris Crawford.
-
A brief but thorough examination of computer games and how they are
and should be created, in Crawford's opinion. If you've ever written
a game, read it.
-
The PET Manual, I don't want to know.
-
This is not a good book.
It is not a bad book. It may be the most bizarre travesty of a user's
manual ever to see print. Possibly written by Martians. It taught me a
crucial truth: Manuals do not reveal. They contain, and they do not give up
their secrets willingly.
-
The Mythical Man-Month, Fred Brooks
-
A devastating examination of how to manage a project straight into the
ground. Contains the mathematical demonstration of Brooks' Law:
Adding manpower to a late software project makes it later.
Other chapters explore ways out of the "tarpit" of software development.
-
The Psychology of Computer Programming, Gerald M. Weinberg.
-
I've only read the second part, which is more about
the sociology of computer programming. Details with many
examples how simple human failings can lead to utter disaster,
and the obscure virtues which keep disaster from striking.
-
Understanding the Professional Programmer, same guy.
-
A collection of essays and parables on
programming as a job, the emergence of programming as a profession,
and the causes of its current immaturity.
Weinberg's observations are insightful and thoroughly subversive.
Reading them had a lot to do with why I quit my second job.
-
Peopleware, DeMarco and Lister
-
Another book of sterling subversion, more from the management perspective.
If the manager whose office it was in had paid it any attention, I
might still be at the above-mentioned job.