Steve said:
I'd like to hear thoughts on what books, in your opinion, are true
classics in the field of software engineering. I read a lot on the
topic - at least a book a month for many years. There are many good
authors, however, the only book on making software that is truly
timeless, in my opinion, is "Mythical Man Month" by Brooks. It never
ceases to amaze me that something written over 20 years ago would be
so relevant.
My list would be:
MMM (as above)
Compiler construction for digital computers, David Gries. One of the
earliest compilations of material on compiler design, this was an
early book containing practical algorithims for designing large programs
of all types. Often referenced by other books, but largely forgotten
today.
The C Programming Language, K&R. Introduced both C and Unix, and
really gave you an idea how you might write an OS in a high level
language at a time when it was assumed that all OSes were assembly
language.
Pascal Users Manual and Report, Jensen and Wirth. The forever unfufilled
dream that programs could be clean and easy to understand.
The Art of Computer Programming - Knuth. Perhaps the ultimate encyclopedia
of programming, the only knock against it I ever heard was that Knuth
clearly thought it to be the ultimate programming encyclopedia, too.
Basic Basic, Coan. Don't laugh, most early homebrew computer users
read this book. It taught a generation of microcomputer programmers to
program.
Principles of Compiler Design, Aho and Ullman. Aka the "dragon book",
first generally available book of advanced compiler design. Somewhat
"classic because its classic", it even appeared in a movie about
hackers, even though it has virtually nothing to do with hacking.
Programming languages: history and fundamentals, Sammet. First (and last)
real look at where programming languages came from, and are going to.
Unix Programmers Manual, Vol 1 and 2, Bell labs. Was printed and placed
in common bookshelves long before anyone outside a university could
get their hands on a Unix implementation. I designed two operating
systems based on the concepts in it before even seeing my first
Unix implementation, on a 68000 (Unisoft).
Writing Interactive Compilers and Interpreters, P. J. Brown. Admittedly
not a popular book, one of the most amazingly practical books on the
subject of compiler and interpreter designs that has ever appeared.
--
Samiam is Scott A. Moore
Personal web site: http:/
www.moorecad.com/scott
My electronics engineering consulting site:
http://www.moorecad.com
ISO 7185 Standard Pascal web site:
http://www.moorecad.com/standardpascal
Classic Basic Games web site:
http://www.moorecad.com/classicbasic
The IP Pascal web site, a high performance, highly portable ISO 7185 Pascal
compiler system:
http://www.moorecad.com/ippas
Being right is more powerfull than large corporations or governments.
The right argument may not be pervasive, but the facts eventually are.