Timeless Classics of Software Engineering

S

Steve Johnson

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.

It seems like Brooks achieved this by focusing on what is the essence
of software engineering, which is comprised of:

A) building models of reality.
B) the people who tend to like building models of reality, what they
are like, and what makes them work together effectively.

Many books focus excessively on a particular language, a specific
domain, on project management, Gantt charts etc and miss the forest
for the trees.

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.

Are there any other books like MMM that you can think of where every
page is packed with insight where it seems not a single word is in
vain?
I'd be grateful for your suggestions. There must be at least a couple
out there.

Thanks!

- Steve
 
M

Marshall Spight

Steve Johnson said:
I'd like to hear thoughts on what books, in your opinion, are true
classics in the field of software engineering.


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


Marshall
 
S

Stephen Fuld

Steve Johnson 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.

It seems like Brooks achieved this by focusing on what is the essence
of software engineering, which is comprised of:

A) building models of reality.
B) the people who tend to like building models of reality, what they
are like, and what makes them work together effectively.

Many books focus excessively on a particular language, a specific
domain, on project management, Gantt charts etc and miss the forest
for the trees.

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.

Are there any other books like MMM that you can think of where every
page is packed with insight where it seems not a single word is in
vain?
I'd be grateful for your suggestions. There must be at least a couple
out there.

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.
 
S

Sergio Navega

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

I also vote for "Code Complete". It is a remarkable (although excessively
lenghy) work. If you don't want to face its 850+ pages, there's a smaller
alternative:

Maguire, Steve (1993) Writing Solid Code. Microsoft Press.

These two books are classics by any definition (and both were written
by "Steves" and published by Microsoft Press).

Sergio Navega.
 
J

JXStern

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.

Copyright 1972 by Brooks, 1975 by Addison-Wesley, to be exact.
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.

Are there any other books like MMM that you can think of where every
page is packed with insight where it seems not a single word is in
vain?
I'd be grateful for your suggestions. There must be at least a couple
out there.

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.

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

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

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

No, I was having this same thought just the other day, that Brooks'
little book is pretty much in a class by itself, sort of the Tao te
Ching of software.

I've never actually read "Code Complete", but some of the kids seem to
like it.

And I guess GoF's "Design Patterns" is too techie for you?

J.
 
D

Donald F. McLean

Two easy ones:

Design Patterns - Gamma et al.
Refactoring - Fowler

Here's an unusual one:

How to Write a Useable User Manual - Weiss
 
L

leslie

JXStern ([email protected]) wrote:
: On 28 Jul 2004 08:04:43 -0700, (e-mail address removed) (Steve
: Johnson) wrote:
: >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.
:
: Copyright 1972 by Brooks, 1975 by Addison-Wesley, to be exact.
:

There's a later edition, 1995:

20th Anniversary Edition With Four New Chapters

ISBN 0-201-83595-9


--Jerry Leslie
Note: (e-mail address removed) is invalid for email
 
R

Ron Ruble

Steve Johnson said:
I'd like to hear thoughts on what books, in your opinion, are true
classics in the field of software engineering.

Not an SE book, but a great business book with useful
information for SEs:

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

xpyttl

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

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

...
 
X

xpyttl

Steve Johnson said:
I'd like to hear thoughts on what books, in your opinion, are true
classics in the field of software engineering.

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.

...
 
S

Shailesh Humbad

leslie said:
There's a later edition, 1995:

20th Anniversary Edition With Four New Chapters

ISBN 0-201-83595-9


--Jerry Leslie
Note: (e-mail address removed) is invalid for email

I just finished reading Mythical Man Month 1995 cover to cover. It's
a great book. The new sections don't add much.

The textbook at my Univ of Michigan software engineering class was,
"Software Engineering: A Practitioner's Approach", by Roger S.
Pressman. I don't know if they still use it, but this book covers
the main software engineering paradigms quite well. It's no
substitute for an experienced teacher and a class project though.

Finally, there's a classic book in urban design called "A Pattern
Language : Towns, Buildings, Construction" by Christopher W.
Alexander. I have not read all of this book, but I would recommend it
for those who have the interest. There are some principles of urban
design that are close analogs of principles of software engineering,
even though urban design will always be simpler than software
engineering. This is because the urban fabric is always regimented by
the three dimensions of physical space, whereas software can have
arbitrary dimensions and inter-relationships.

Maybe these are timeless classics too:
http://mindprod.com/unmain.html
http://www.cs.mcgill.ca/resourcepages/indian-hill.html
 
G

Gavin Scott

In comp.arch Steve Johnson said:
I'd like to hear thoughts on what books, in your opinion, are true
classics in the field of software engineering.

Probably not excatly the sort of thing you're looking for, but you
might want to look at:

http://www.amazon.com/exec/obidos/tg/detail/-/3540430814

"Software Pioneers", a book that presents 16 of the classic papers by
pioneers in the software field. The book grew out of a conference
that was done in Germany several years ago to which all these people
were invited to give a presentation. The book includes four DVDs that
let you watch those talks. The DVDs are unfortunately only usable on
a Windows system using the included player software (which is somewhat
in German) that provides a synchronized presentation of the slides
from the talks. Note that a few of the talks were given in German.

Some classic material from the true pioneers, some of whom are no
longer with us unfortunately.

The contents of the book from the Springer site is available at:

http://tinyurl.com/6kzco

G.
 
G

Gene Wirchenko

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.

Not quite timeless. It was revised in 1995. It is one of Those
Books that I should read some day.

One I like is Steve McConnell's "Code Complete". It is not that
it was so informative for me (at my experience level), but it brought
together so many points that a competent programmer needs to know. It
is the sort of book that I would hand to a newbie and say, "Read this.
Then, come talk."

Sincerely,

Gene Wirchenko

Computerese Irregular Verb Conjugation:
I have preferences.
You have biases.
He/She has prejudices.
 
A

Alan Gauld

I'd like to hear thoughts on what books, in your opinion, are true
classics in the field of software engineering.

Most have already been mentioned but I'll give my list anyway...

- MMM by Brooks - undoubtedly deserves top place
- Peopleware by Lister - would be close too.
- Code Complete by McConnell - should be required for coders
- Programming Pearls by Bentley - Timeless wisdom
- Structure & Interpretation of Computer Programs
by Sussman et al

More debatably:

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

- The C Programming Language by K&R

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

- OOD (first editoon) by Booch - stands the test of time
despite the notational changes to UML.

- Design Patterns by the GoF might work too if OO manages
to stick as the dominant methodology

Alan G.
Author of the Learn to Program website
http://www.freenetpages.co.uk/hp/alan.gauld
 
C

Chris Schumacher

(e-mail address removed) (Steve Johnson) wrote in
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.

In my personal experience Kernighan&Plaugher's "Software Tools" is a
good book. It's a perfect book to read after you've learned the basics of
your language of choice, and are sick of writing glorified "hello world"
programs.
Advanced users will, of course, find next to nothing new in it. But for
beginning programmers it does bridge the gap between the shit do-nothing
programs you write in beginning programming classes and useful
applications.
Ratfor is damn hard to understand, though. I wish they'd rewrite it for C
or C++ like they did for Pascal.


-==Kensu==-
 
A

Andrew Reilly

Steve said:
Are there any other books like MMM that you can think of where every
page is packed with insight where it seems not a single word is in
vain?

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

Might not be as concise or as general as you're after, but it's a
big field.

At Uni, long ago, I was taught from "Software Engineering" by I.
Sommerville. I hardly remember it, but I don't think that I liked
it. Full of software life cycle diagrams and the like, from memory.

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. I think that there are
revisions with the examples in other languages, now, but I haven't
read them.

Cheers,
 
D

David Lightstone

Steve Johnson 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.

It seems like Brooks achieved this by focusing on what is the essence
of software engineering, which is comprised of:

A) building models of reality.
B) the people who tend to like building models of reality, what they
are like, and what makes them work together effectively.

Many books focus excessively on a particular language, a specific
domain, on project management, Gantt charts etc and miss the forest
for the trees.

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.

Are there any other books like MMM that you can think of where every
page is packed with insight where it seems not a single word is in
vain?
I'd be grateful for your suggestions. There must be at least a couple
out there.

Programmers and Managers - The Routinization of Computer Programming in the
United States by Philip Kraft (cerca 1977). Not specifically about software
engineering. More so about why the softwre engineering effort won't solve
the problem

Testing in Software Development by Martyn Ould and Charles Unwin

Managing Software Quality and Business Risk by Martyn Ould
 
H

H. E. Taylor

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.

It seems like Brooks achieved this by focusing on what is the essence
of software engineering, which is comprised of:

A) building models of reality.
B) the people who tend to like building models of reality, what they
are like, and what makes them work together effectively.

Many books focus excessively on a particular language, a specific
domain, on project management, Gantt charts etc and miss the forest
for the trees.

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.

Are there any other books like MMM that you can think of where every
page is packed with insight where it seems not a single word is in
vain?
I'd be grateful for your suggestions. There must be at least a couple
out there.

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

<ciao>
-het




--
"See that, son?
That's the moon.
A long time ago, we used to go there." -stolen .sig

Computer Links: http://www.autobahn.mb.ca/~het/clinks.html
H.E. Taylor http://www.autobahn.mb.ca/~het/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top