Re: Timeless Classics of Software Engineering

From: Ketil Malde <ketil_at_ii.uib.no>
Date: Mon, 02 Aug 2004 13:06:04 +0200
Message-ID: <eg1xiplrz7.fsf_at_ii.uib.no>


stevejohnson1972_at_yahoo.com (Steve Johnson) writes:

> I'd like to hear thoughts on what books, in your opinion, are true

I tried to summarize the suggestions, but it turns out that while you specifically asked for:

> Note that I'm specifically looking for books on making software, on
> Software Engineering as a craft as opposed for classic books on
> computer science (e.g. Knuth) which is a completely different category
> in my mind.

...there's a lot of more tehcnical books suggested, including Knuth. Here are my summary, if somebody will take on the job of separating the software engineering ones from the technical ones, be my guest.

(I added the popularity count when a book was suggested by more than one person, or supported in following posts)

---8<---[snip]---8<---

Marshall Spight:

I can't vouch for it myself, but I hear a lot of people mention
"Code Complete" by Steve McConnell.

+6

Sergio Navega (alternative:)
Maguire, Steve (1993) Writing Solid Code. Microsoft Press.

+2

Socks (puppet_sock):

The "effective C++" [by scott myers] books are excellent also, and available as a package for cheap on CD.

Another book I quite enjoyed was: _Death March_ by Yourdon.

xpyttl:

Steve's "Debugging the Development process" ain't too shabby, either, and it's a lot shorter.

DeMarco has quite a number of good books on the topic, but his "The Deadline" is by far the most entertaining, most fun, and most on-target book I've read on the subject of what makes a project tick.

Rob Warnock:

My favorite Tom DeMarco book is "Controlling Software Projects: Management, Measurement, and Estimatation". The first chapter starts out with the classic reminder:
"You can't control what you can't measure."

stephen fuld:

I would suggest Programming Pearls by Jon Bentley. It is one of those books that is actually fun to read as it is so packed with insights that you frequently find yourself having that Aha! experience.

+1

JXStern:

The only book that *concise* I can think of is Kernigan and Ritchie,
"The C Programming Language", but maybe it's too techie for your
category.

+2

Kernighan and Plauger, "Elements of Programming Style", never quite did it for me, but others might name it.

+1

Booch's old "Object Oriented Design" had some status for a while.

+1

I like Gerald Weinberg's stuff, esp the "Quality Software Management" series, but it's not as tight as Brooks.

Shailesh Humbad:

The textbook at my Univ of Michigan software engineering class was,
"Software Engineering: A Practitioner's Approach", by Roger
S. Pressman

Finally, there's a classic book in urban design called "A Pattern Language : Towns, Buildings, Construction" by Christopher W. Alexander.

Donald F. McLean:

Design Patterns - Gamma et al.

+1

Refactoring - Fowler
How to Write a Useable User Manual - Weiss

Ron Ruble:

"Leadership And Self-Deception", by the Arbinger Institute.

Dave Townsend:

Take a look at Glenford Myers, the Art of software Testing....

Gavin Scott:

"Software Pioneers", a book that presents 16 of the classic papers by
pioneers in the software field. The book grew out of a conference

Alan Gauld:

  • MMM by Brooks - undoubtedly deserves top place
  • Peopleware by Lister - would be close too.
  • Structure & Interpretation of Computer Programs by Sussman et al

+1

More debatably:

  • Knuth's 3 volumes on algorithms - but more people talk about them than have read them I suspect!

+1

  • UML distilled by Fowler might make it into the classics category if UML really does become the standard notation.

Chris Schumacher

In my personal experience Kernighan&Plaugher's "Software Tools" is a good book

H. E. Taylor:

Add _The Pragmatic Programmer_ by Hunt & Thomas to your list.

-1?

Andrew Reilly

I like Bertrand Meyer's "Object Oriented Software Construction" 2nd rev. Certainly a lot of detail to think about.

At Uni, long ago, I was taught from "Software Engineering" by I. Sommerville.

More programming-specific and more beginner-level than you're after, but very beautiful is "Data Structures, with Abstract Data Types and Pascal", by Stubbs and Webre.

David Lightstone:

Programmers and Managers - The Routinization of Computer Programming in the United States by Philip Kraft (cerca 1977).

Testing in Software Development by Martyn Ould and Charles Unwin

Managing Software Quality and Business Risk by Martyn Ould

Scott Moore:

Compiler construction for digital computers, David Gries.

Pascal Users Manual and Report, Jensen and Wirth. The forever unfufilled dream that programs could be clean and easy to understand.

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",

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.

Writing Interactive Compilers and Interpreters, P. J. Brown.

Roy Omond:

"The Psychology of Computer Programming" by Gerald Weinberg
"The Psychology of Everyday Things" by Don Norman

Andi Kleen:

I always liked "Debugging C" from Robert Ward.

The first chapter of the Dragon Book is not that bad as an introduction. But if you look for a true classic on compiler writing check Wirth's Compilerbau

Gray/Reuter - Transaction processing: concepts and techniques

Marcelo Pinto:

Refactoring: Improving the Design of Existing Code by Fowler Agile Software Development, Principles, Patterns, and Practices by Martin Software Craftsmanship: The New Imperative by McBreen

Victor Putz:

I also HIGHLY recommend McConnell's "Software Project Survival Guide",

Larry Crimson:

Managing the Software Process, by Watts Humphrey.

Andy Glew:

  • The "Gang of 4" book on patterns.
  • I'd also put Martin Fowler's book on Refactoring into this class.

I recommend Lakos' "Large-Scale C++ Programming" to everyone now.

CELKO:
"Classics in Software Engineering" and "Writings of the Revolution" by
Edward Yourdon, both now Out of Print

Jerry Coffin:

_Programming Proverbs_ by Henry Ledgard.

-k

-- 
If I haven't seen further, it is by standing in the footprints of giants
Received on Mon Aug 02 2004 - 13:06:04 CEST

Original text of this message