Updated Code Complete Reading List
Many of the books I recommended in Code Complete's original Top 10 list are
still available, and most of them would still make my Top 10 list of books related to
software construction.
1. Weinberg's The
Psychology of Computer Programming. This outstanding book has recently been
updated and a silver anniversary edition is now available. The backup books, Mythical
Man-Month and Peopleware
are still available.
2. Bentley's Programming
Pearls is still available.
3. Yourdon's Classics in Software Engineering has unfortunately gone out of
print, and I don't know of a good substitute that includes the same papers.
4. Gilb's Principles
of Software Engineering Management is still available, as is my secondary
recommendation, DeMarco's Controlling
Software Projects.
5. Yourdon and Constantine's Structured
Design: Fundamentals of a Discipline of Computer Program and Systems Design is
still in print, though it's expensive (about $90). Page-Jones' Practical
Guide to Structured Systems Design is available. Booch's Object
Oriented Design with Applications is also readily available.
6. Myer's The Art of
Software Testing is still available, but at 177 pages and $80, it's hard to call
it a good value. I like Hetzel's Complete
Guide to Software Testing about as well. But I think the best testing book
available is a relatively new one, Kaner's Testing
Computer Software. It's written by a practicing tester and is steeped in the
realities of testing shrink-wrap software.
7. Books on requirements analysis. Davis's Software
Requirements is a good survey of requirements development issues. Yourdon's Modern
Structured Analysis is showing its age, but it's still an excellent survey of
software requirements issues. For real-time programmers, Strategies
for Real-Time System Specification is still available. For an unconventional
approach to requirements development, Rethinking
Systems Analysis and Design is still available and still entertaining.
8. Books on Quantitative Software Management. Boehm's Software
Engineering Economics is still available and still highly recommended. Jones' Applied
Software Measurement is now available in a revised edition. It's worth reading,
but I have found so many typographical errors, inconsistencies, and questionable
statistical practices that I can no longer recommend it as wholeheartedly as I did in Code
Complete. Read it for the general messages but don't put too much stock in any
specific numbers.
9. Books on data structures and algorithms. Sedgewick's Algorithms
is one good choice. If you can't find that, you might check out his similar books, Algorithms
in C, Algorithms
in C++, and Algorithms
in Modula-3. Aho, Hopcraft, and Ullman's Data
Structures and Algorithms is a good alternative, and of course the three
volumes of Knuth's The Art of Computer Programming (vol. 1, vol.2, vol. 3)
are the touch stone books in the field, though they certainly are not light reading.
10. An overview of the software-development process. DeGrace and Stahl's Wicked
Problems, Righteous Solutions is still available. Humphrey's Managing
the Software Process is still available, but has probably been superceded by
Paulk, et al's The Capability
Maturity Model : Guidelines for Improving the Software Process.
This material is Copyright © 1998 by Steven C. McConnell. All
Rights Reserved.
|