By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,496 Members | 1,527 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,496 IT Pros & Developers. It's quick & easy.

Timeless Classics of Software Engineering

P: n/a
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
Jul 22 '05 #1
Share this Question
Share on Google+
102 Replies


P: n/a
"Steve Johnson" <st**************@yahoo.com> wrote in message news:94**************************@posting.google.c om...
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
Jul 22 '05 #2

P: n/a

"Steve Johnson" <st**************@yahoo.com> wrote in message
news:94**************************@posting.google.c om...
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.

--
- Stephen Fuld
e-mail address disguised to prevent spam
Jul 22 '05 #3

P: n/a
"Marshall Spight" <ms*****@dnai.com> escreveu na mensagem
news:epPNc.177055$IQ4.107932@attbi_s02...
"Steve Johnson" <st**************@yahoo.com> wrote in message

news:94**************************@posting.google.c om...
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.


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.
Jul 22 '05 #4

P: n/a
On 28 Jul 2004 08:04:43 -0700, st**************@yahoo.com (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.
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.
Jul 22 '05 #5

P: n/a
JXStern (JX**************@gte.net) wrote:
: On 28 Jul 2004 08:04:43 -0700, st**************@yahoo.com (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: le****@jrlvax.houston.rr.com is invalid for email
Jul 22 '05 #6

P: n/a
Two easy ones:

Design Patterns - Gamma et al.
Refactoring - Fowler

Here's an unusual one:

How to Write a Useable User Manual - Weiss

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

Jul 22 '05 #7

P: n/a

"Steve Johnson" <st**************@yahoo.com> wrote in message
news:94**************************@posting.google.c om...
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.

Jul 22 '05 #8

P: n/a

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

dave
"Steve Johnson" <st**************@yahoo.com> wrote in message
news:94**************************@posting.google.c om...
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

Jul 22 '05 #9

P: n/a
"Marshall Spight" <ms*****@dnai.com> wrote in message
news:epPNc.177055$IQ4.107932@attbi_s02...
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.

...
Jul 22 '05 #10

P: n/a
"Steve Johnson" <st**************@yahoo.com> wrote in message
news:94**************************@posting.google.c om...
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.

...

Jul 22 '05 #11

P: n/a
leslie wrote:
There's a later edition, 1995:

20th Anniversary Edition With Four New Chapters

ISBN 0-201-83595-9
--Jerry Leslie
Note: le****@jrlvax.houston.rr.com 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

Jul 22 '05 #12

P: n/a
In comp.arch Steve Johnson <st**************@yahoo.com> wrote:
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...l/-/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.
Jul 22 '05 #13

P: n/a
st**************@yahoo.com (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.


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.
Jul 22 '05 #14

P: n/a
On 28 Jul 2004 08:04:43 -0700, st**************@yahoo.com (Steve
Johnson) wrote:
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
Jul 22 '05 #15

P: n/a
On Wed, 28 Jul 2004 20:59:14 GMT, Alan Gauld <al********@btinternet.com>
wrote:
- Structure & Interpretation of Computer Programs
by Sussman et al


Best book on programming I've ever read, but not about software
engineering.

john
Jul 22 '05 #16

P: n/a
st**************@yahoo.com (Steve Johnson) wrote in
news:94**************************@posting.google.c om:
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==-
Jul 22 '05 #17

P: n/a
In article <94**************************@posting.google.com >,
<st**************@yahoo.com> 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.

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/
Jul 22 '05 #18

P: n/a
Steve Johnson wrote:
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,

--
Andrew
Jul 22 '05 #19

P: n/a

"Steve Johnson" <st**************@yahoo.com> wrote in message
news:94**************************@posting.google.c om...
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

Thanks!

- Steve

Jul 22 '05 #20

P: n/a
In article <94**************************@posting.google.com >, Steve
Johnson <st**************@yahoo.com> writes
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.

Software Fundamentals: Collected papers by David L. Parnas
(Note that this was edited by David M. Weiss and Daniel M. Hoffman, so
if you are searching for it you might have to put them down as authors).

Classic papers on the rationale for splitting software into modules -
and therefore what splits make sense and what don't. Also a miscellany
of articles about specification, concurrency, real time systems, and so
on.

I wish I could point to the great impact that this has had on the
practice of designing software, but I am afraid that it has not yet had
the impact it deserves, and that we are the worse for that.
--
A.G.McDowell
Jul 22 '05 #21

P: n/a
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.


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.
Jul 22 '05 #22

P: n/a
Steve Johnson wrote:
I'd be grateful for your suggestions. There must be at least a couple
out there.


Only tangentially related, but how about:

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

Agreed 100% about MMM. It was compulsory reading for undergraduates
when I was studying mid 1970's. Should still be today.

Roy Omond
Blue Bubble Ltd.
Jul 22 '05 #23

P: n/a
JXStern <JX**************@gte.net> wrote in message news:<1m********************************@4ax.com>. ..
...
Kernigan and Plauger, "Elements of Programming Style"...


Can't recommend it enough; that book did more to improve my code than
any other book I can think of. It's the sort of book that one should
re-read every 5 years or so, and I am overdue to read it again...

Toby
Jul 22 '05 #24

P: n/a
st**************@yahoo.com (Steve Johnson) wrote in message news:<94**************************@posting.google. com>...

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


I haven't read MMM yet. But my personal list is:

- 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

Good luck,

Marcelo Pinto
Jul 22 '05 #25

P: n/a
MMM is of course fantastic. And I would also put Code Complete on the
short list (and there's a new edition coming soon). MMM is more of a
high-level thing, while Code Complete starts at a lower level but is
so packed with good advice that I always get something out of it when
rereading.

I also HIGHLY recommend McConnell's "Software Project Survival Guide",
which is a great companion volume to "Code Complete". His "Rapid
Development" is another great collection of software construction
knowledge. I would place McConnell at the top of my short list of
"authors I will read whenever I see them put out something new".

In fact, McConnell's approach in Code Complete (and his later efforts
as editor of IEEE Computer magazine) inspired me to be extremely lazy
when making a reading list--and just took his. Steve's company,
Construx software, has an established reading list that's available on
the web... or was; their 1.0 version of their reading ladder is now
only available to "website members" (free registration but still a
little annoying). You can get some idea from their current program
(the one for a sample developer is at

http://www.construx.com/professional.../sampledev.php

....but I liked the "annotated bibliography" aspect of the v1
ladder--aside from having better presentations of each of the
materials, it also included a list of seminal articles from software
history and was just a great list of resources. HIGHLY recommended,
and probably worth registering on the site just to have. I read
pretty much everything on there (or at least one of the options
whenever it said "this book or this book").

-->VPutz
Jul 22 '05 #26

P: n/a
> I'd like to hear thoughts on what books, in your opinion, are true
classics in the field of software engineering.


What about:

The Inmates are Running the Asylum

Opps, my mistake. I thought you said pointless drivel.

Seriously, I would add:

Managing the Software Process, by Watts Humphrey.

Larry
Jul 22 '05 #27

P: n/a
JXStern wrote:
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.

Just to note, it's spelled "Kernighan". That can be important when
searching for books.


Brian Rodenborn
Jul 22 '05 #28

P: n/a
"Sergio Navega" <sn*****@intelliwise.com> wrote in message news:<41**********@news.athenanews.com>...
"Marshall Spight" <ms*****@dnai.com> escreveu na mensagem
news:epPNc.177055$IQ4.107932@attbi_s02...
"Steve Johnson" <st**************@yahoo.com> wrote in message

news:94**************************@posting.google.c om...
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.


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


_Writing Solid Code_ should be considered only an appetizer.
It's got the attitude, but really only a few good examples.
It's also strongly oriented towards writing C code.
The notion it plugs is "keep trying to improve" and that is
good. It was one of the first books I read that had that
particular message. Go ahead and read it, but *DON'T* stop
after that. Get _Code Complete_ as soon as you can afford
the money and time.

The "effective C++" books are excellent also, and available
as a package for cheap on CD.
Socks
Jul 22 '05 #29

P: n/a
Another book I quite enjoyed was: _Death March_ by Yourdon.
He gives excellent advice on how to cope with the project
from hell, with far too large a requirement set in far too
little time.
Socks
Jul 22 '05 #30

P: n/a
In comp.arch Marshall Spight <ms*****@dnai.com> wrote:
I can't vouch for it myself, but I hear a lot of people mention
"Code Complete" by Steve McConnell.


I see there's a brand new 2nd edition just out too.

G.
Jul 22 '05 #31

P: n/a
In comp.arch Gavin Scott <ga***@allegro.com> wrote:
In comp.arch Marshall Spight <ms*****@dnai.com> wrote:
I can't vouch for it myself, but I hear a lot of people mention
"Code Complete" by Steve McConnell.
I see there's a brand new 2nd edition just out too.


The missing link:

http://cc2e.com/

G.
Jul 22 '05 #32

P: n/a
"H. E. Taylor" <he*@despam.autobahn.mb.ca> writes:

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


I don't really think "The Pragmatic Programmer" is about software
engineering, though. Rather, it's a craft-book - i.e. it's more about
the "practical masonry" side of software building than it is about the
engineering side.

--
Leif Roar Moldskred
Jul 22 '05 #33

P: n/a
"Steve Johnson" <st**************@yahoo.com> wrote in message
news:94**************************@posting.google.c om...
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.


No database textbooks listed so far. Is it because
1. There are no classic database books.
Or rather
2. Software engineers usually don't know anything about databases.
?
Jul 22 '05 #34

P: n/a

"Mikito Harakiri" <mi*********@iahu.com> wrote in message
news:dQ**************@news.oracle.com...
"Steve Johnson" <st**************@yahoo.com> wrote in message
news:94**************************@posting.google.c om...
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.


No database textbooks listed so far. Is it because
1. There are no classic database books.
Or rather
2. Software engineers usually don't know anything about databases.
?


Perhaps it's because they'd be off-topic, just as the other essentially
technical references that have been listed are.

If one wants to go there, though, I'd place Gray & Reuter at the top of the
list for real nuts and bolts insights (more superficial understanding can be
found in any number of places).

- bill

Jul 22 '05 #35

P: n/a
On 2004-07-29, Bill Todd <bi******@metrocast.net> wrote:
No database textbooks listed so far. Is it because
1. There are no classic database books.
Or rather
2. Software engineers usually don't know anything about databases.


Well, I think the discussion was more on software
engineering/construction.

As for database references, while there are plenty of good books out
there, in terms of "bang-for-buck" I haven't seen something on
database design that's as concise and yet useful as William Kent's
1982 essay "A Simple Guide to Five Normal Forms in Relational Database
Theory"--and considering the databases I've seen "professionals" make
that don't even try for well-formed data, it's a shame.

http://www.bkent.net/Doc/simple5.htm

-->VPutz
Jul 22 '05 #36

P: n/a
"Bill Todd" <bi******@metrocast.net> wrote in message
news:1K********************@metrocast.net...

"Mikito Harakiri" <mi*********@iahu.com> wrote in message
news:dQ**************@news.oracle.com...
No database textbooks listed so far. Is it because
1. There are no classic database books.
Or rather
2. Software engineers usually don't know anything about databases.
?


Perhaps it's because they'd be off-topic, just as the other essentially
technical references that have been listed are.


Right. That was a knee-jerk reaction to UML book somebody nominated.
Database people would easily trade a stack of UML books to a decent database
text.

P.S. Thank's god nobody mentioned "Learning XML in 21 minutes" by Bill
Quickbuck yet.
Jul 22 '05 #37

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

Two "how software is done" books,
as opposed to "how to manage software":
* The "Gang of 4" book on patterns.
* I'd also put Martin Fowler's book on Refactoring into this class.

I doubt that the XP (eXtreme Programming) books will
become classics, even though I enjoy them.
Jul 22 '05 #38

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


Adding to my last post, I recommend Lakos'
"Large-Scale C++ Programming"
to everyone now.

But I'm not sure it will be "timeless",
in the way the GOF book may be.
Jul 22 '05 #39

P: n/a
"Mikito Harakiri" <mi*********@iahu.com> wrote:

[snip]
Right. That was a knee-jerk reaction to UML book somebody nominated.
Database people would easily trade a stack of UML books to a decent database
text.
Not true at all. I am keeping my UML text as an example of how
horrible a textbook can be. It was not all bad though, just the part
dealing with UML. The C++ portion was OK. Two authors, two areas,
one suspicion on my part.
P.S. Thank's god nobody mentioned "Learning XML in 21 minutes" by Bill
Quickbuck yet.


And it only *seems* like 21 days?

Sincerely,

Gene Wirchenko

Computerese Irregular Verb Conjugation:
I have preferences.
You have biases.
He/She has prejudices.
Jul 22 '05 #40

P: n/a
"Mikito Harakiri" <mi*********@iahu.com> wrote in message news:dQ**************@news.oracle.com...
"Steve Johnson" <st**************@yahoo.com> wrote in message
news:94**************************@posting.google.c om...
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.


No database textbooks listed so far. Is it because
1. There are no classic database books.
Or rather
2. Software engineers usually don't know anything about databases.
?


Or both.
Marshall
Jul 22 '05 #41

P: n/a


Andi Kleen wrote:
[snip]

I always liked "Debugging C" from Robert Ward.


What /is/ this "Debugging" of which you earth people speak?

Oh, Debugging /C/ - now I understand.

:-)

Peter

Jul 22 '05 #42

P: n/a
xpyttl <xp***********@earthling.net> wrote:
+---------------
| 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.
+---------------

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."
-Rob

-----
Rob Warnock <rp**@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607

Jul 22 '05 #43

P: n/a
"Mikito Harakiri" <mi*********@iahu.com> wrote in message news:<dQ**************@news.oracle.com>...
No database textbooks listed so far.
And some of the books listed promote the worst data management
practices like to manage the data in the applications using network
structures and procedural code.
Is it because
1. There are no classic database books.
Clearly false.
Or rather
2. Software engineers usually don't know anything about databases.
?


If you read the classic software engineering textbooks you will see
that this is very true.

Database theory is essential to build decent business information
systems, and you will find almost nothing about databases in the
software engineering books.

It is not surprising that most business systems are a botch-up.
Regards
Jul 22 '05 #44

P: n/a
"Mikito Harakiri" <mi*********@iahu.com> wrote in message news:<dQ**************@news.oracle.com>...

[ ... ]
No database textbooks listed so far. Is it because
1. There are no classic database books.
Or rather
2. Software engineers usually don't know anything about databases.


I would say:

3. Because the OP asked about SE, not databases.

I, for one, can think of at least a couple I'd consider classics about
database design, just as I can think of some I'd consider classics
about compilers, operating systems, networking, etc.

A few might qualify as crossovers as well: just for example, Lion's
book or almost any of Tannenbaum's books could be used for studying
SE, with operating sytsems as the example code. Likewise, the Dragon
Book could be used as a study in SE with compilers as the sample code.

Likewise, almost anything by C.J. Date or E.F. Codd could qualify as a
more or less timeless classic, but none of them is more than
tangentially related to SE.

OTOH, I'd say Robert Heinlein or F. Paul Wilson might have just as
relevant of messages for software engineers as Date or Codd...

--
Later,
Jerry.

The universe is a figment of its own imagination.
Jul 22 '05 #45

P: n/a
>> I'd like to hear thoughts on what books, in your opinion, are true
classics in the field of software engineering. <<

"Classics in Software Engineering" and "Writings of the Revolution" by
Edward Yourdon, both now Out of Print. They are a good collection of
all the basic essays and short papers that lead to Software
Engineering and structured programming in the early days.
Jul 22 '05 #46

P: n/a
st**************@yahoo.com (Steve Johnson) wrote in message news:<94**************************@posting.google. com>...

[ ... ]
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?


_Programming Proverbs_ by Henry Ledgard.

This does have some shortcomings: first of all, it's probably been out
of print for at least 20 years, so if you get it at all it'll probably
be used. Second, the sample code is all in languages most people would
consider obsolete, such as PL/I and FORTRAN IV. Finally, it came along
when top-down programming was a new and wonderful thing, and the
author might be considered bigoted on the subject (his third and
fourth proverbs are "Use the top-down approach" and "Avoid other
approaches"). Nonetheless, I think it's better than most of the more
recent attempts I've seen at the same genre.

--
Later,
Jerry.

The universe is a figment of its own imagination.
Jul 22 '05 #47

P: n/a
"Mikito Harakiri" <mi*********@iahu.com> writes:
No database textbooks listed so far. Is it because
1. There are no classic database books.


Gray/Reuter - Transaction processing: concepts and techniques

is probably one. It doesn't focus much on high level database theory,
but more on practical implementation of one (down to code samples).

And it is useful for a lot more things than just databases. I
found it useful to understand journaling file systems.

-Andi
Jul 22 '05 #48

P: n/a
"Jerry Coffin" <jc*****@taeus.com> wrote in message
news:b2*************************@posting.google.co m...
3. Because the OP asked about SE, not databases.

I, for one, can think of at least a couple I'd consider classics about
database design, just as I can think of some I'd consider classics
about compilers, operating systems, networking, etc.


Agreed. However, there was little point crossposting to c.d.t.
Jul 22 '05 #49

P: n/a
Jerry Coffin writes:
OTOH, I'd say Robert Heinlein or F. Paul Wilson might have just as
relevant of messages for software engineers as Date or Codd...


And Heinlein is listed in the end notes of Brook's book. The circle is now
complete!

It occurs to me that the OP's best bet is to put <brooks mythical> as a
taget to Google. This will work to find things that Brooks found useful and
any one later is almost certain to reference back to Brook's. Personally,
as an electrical engineer, I have difficulty with this notion of what
software engineering is. My take is that the vast majority of the responses
have not been what the OP wanted. But I can't figure out *what* he really
wants from a single example. I have Brook's book, but have never actually
read it, just scanned it. I view it as a "war stories" kind of thing.
That's not meant to be critical in any way.

The subject most of the answers seem to address is: good books for
programmers. Either classics, or "gonna be" classics. The OPs mention of
Knuth makes clear that is not what he wanted.

ISTM that Cormen, _Introduction to Algorithms_ belongs on the list that is
actually being generated.
----
Afterthought: <brooks mythical "war stories"> gets 280 hits on Google. Now
I can either eat lunch or look at the hits. I think I'll eat lunch.
Jul 22 '05 #50

102 Replies

This discussion thread is closed

Replies have been disabled for this discussion.