|

|
|
Compilers: Principles, Techniques, and Tools,
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Addison-Wesley, 1986.
The infamous "dragon book." There are plenty of things it doesn't
cover, but it provides a theory-based look at the basics of scanning, parsing, semantics, and code
generation.
(Reviewed Nov., '02)
|

|
|
Programming Pearls, Jon Bentley. Addison-Wesley, 1999 (2/e).
More Programming Pearls, Jon
Bentley. Addison-Wesley, 1988.
These truly are pearls: great lessons in programming in the small.
(Reviewed Nov., '02)
|

|
|
The Mythical Man-Month, Fred Brooks. Addison-Wesley, 1995 (2/e).
"Adding people to a late project makes it later." This and other
observations about software and software teams. If you've never read it,
you owe it to yourself to find out what our field knew 25 years ago.
(Reviewed Nov., '02)
|

|
|
Structured Programming O.-J. Dahl, E. W. Dijkstra, and C.A.R.
Hoare. Academic Press, 1972.
Dijkstra explains structured programming (with an eye to proofs), Hoare
explains data structures, and Dahl and Hoare explain something called
"objects."
Note the publication year. (Reviewed Nov.,
'02)
|

|
|
Peopleware: Productive Projects and Teams, Tom deMarco and Timothy
Lister. Dorset House, 1999 (2/e).
Ways to make teams productive.
(Reviewed Nov., '02)
|

|
|
Design Patterns,
Erich Gamma et al. Addison-Wesley, 1995.
A catalog of 23 patterns used in object-oriented design.
It's a little new to be called a classic, but I'll go out on a limb for this one.
(Reviewed Nov., '02)
|

|
|
Gödel, Escher, Bach: An Eternal Golden Braid,
Douglas R. Hofstadter. Basic Books, 1999 (20th anniversary edition).
An exploration of music, math, and art, and how they intertwine with computers.
(Reviewed Nov., '02)
|

|
|
The Art of Computer Programming,
Donald E. Knuth. Addison-Wesley, 1998 (boxed set edition).
I wish I were enough of a mathematician to understand it all, but time studying these books has always
been worthwhile. I'm hoping for volumes 4 and 5:)
(Reviewed Nov., '02)
|

|
|
A
Software Tools Sampler, Webb Miller. Prentice Hall, 1987.
Unix and its tools are still important, even if the modern GUI mostly
ignores their abilities. This book provides algorithms and C code for
file updating, comparison, searching, and editing. It's probably not
the most modern guide to any of these, yet I find myself going back to
it every two or three years. (Reviewed June, '05)
|

|
|
The Art of Software Testing, Glenford Myers. Wiley, 1979.
Dated? Yes, but
I still like it.
(Reviewed Nov., '02)
|
I link to Amazon.com as
part of their associate program, but don't forget to check
half.com and others, especially if you don't
mind a used book.
|