Live data from Hacker News

What is the single most influential book every programmer should read?

stackoverflow.com

51–60 of 100 posts

Re: What is the single most influential book every programmer should read?

#51
post #43

Ah, good old karma whoring times on StackOverflow, with inane questions that make people feel warm and fuzzy (and press the plus).

Please note this question was asked in 2008, when StackOverflow was considerably more tolerant of subjective questions, and it was locked to prevent any more votes. The notice on the question says "This question exists because it has historical significance, but it is not considered a good, on-topic question for this site".

Re: What is the single most influential book every programmer should read?

#52
post #21

Man, still Code Complete? I dunno. Wasn't that big a fan, honestly. I think I got more out of the first three chapters than the sum of the rest of the book. If we're talking about technical books, Refactoring is easily the most beneficial read I can remember having. I was pleased to see it (barely) trump Design Patterns... a book that I think (through no real fault of it's own) has spoiled more developer-years than i…

Going through the list: Code Complete: First ed 1993 Prag Prog: 1999 SICP: 80s? K&R C: ditto CLRS: 1990 Refactoring: 1999? GoF DP: 1994 Mythical Man Month: late 70s, 80s? TAOCP: Decades ago, and not a serious suggestion Dragon book: 1986 GEB: 80s was it? Programming Pearls: 1999 CODE: 1999 Off the top items in that list, only two have them have been published in the last TWELVE years, which in our industry is at leas…

There's an element of inevitability here. It is natural that the most widely applicable material was written long ago, because the basic problems were solved long ago as well.

Today's problems tend to be more specialised, which means even a brilliant book about how to solve them isn't going to be as widely influential. Something accessible to mere mortals about functional programming probably has the best chance today, given the increasing penetration of related ideas into mainstream programming languages, but while there are some brilliant presenters working in that field, their focus is still typically far too academic for mainstream interest. Something about non-traditional databases, distributed systems, and why certain key problems can't be solved and there are necessarily always trade-offs, might also be applicable to many programmers today, but again I know of no natural figurehead to write a definitive book on the subject.

The drop-off in top-notch books also correlates pretty well with the rise of the WWW as a mainstream information source. Of all subjects, computing is one of the fastest evolving and perhaps the most natural candidate to find a home for new information on Web pages rather than paper. It's tough to write a book that won't date scarily quickly today, again partly because of the specialism aspect, but a Web page stays up-to-date for as long as you care to update it.

What's left? Lowest-common-denominator commodity books: X For Dummies, Learn Y in Z hours, the latest unsupported advocacy from some "Agile trainer", and occasionally a printed snapshot of an interesting web site as it was six months ago when the publishing process was started. Not exactly the kind of material written by the industry giants and sagely academics of 20 years ago, alas.

Re: What is the single most influential book every programmer should read?

#53

Earlier quoted context omitted.

The value of the GOF book is in the way of thinking, not in the actual patterns themselves.

I was seriously disilusioned when I have learned that most of the design patterns make sense only in strongly-typed languages, and that the whole mess that is abstract factory can in, say, PHP be replaced with a simple new $className();

Yes. See Peter Norvig (Director of Research at Google)'s slides on this topic here: http://norvig.com/design-patterns/

Re: What is the single most influential book every programmer should read?

#54
post #31

The ranking of this list is extremely suspect. Code Complete is a fine book. The Pragmatic Programmer is okay. But neither book holds a candle to Introduction to Algorithms for career-long usefulness. For that matter, neither one holds a candle to Design Patterns for the ability to expand your mind and improve your ability to think about code (I read both at the same time, and Design Patterns is the only one whose le…

I agree. I would place Dijkstra's 'A Discipline of Programming' and Feijen and van Gasteren's 'A method of multi-programming' right up there with 'Introduction to Algorithms'.

What sets these books apart is that they try to tackle the problem of _how_ to design elegant algorithms. In the process they introduce crucial concepts like invariants which, once you understand them, become indispensable tools in reasoning and designing algorithms.

More generally, their stress on elegant proofs develops a taste for mathematical elegance which would serve all programmers well as they design new systems.

These books are much too under-appreciated, in my opinion.

Re: What is the single most influential book every programmer should read?

#55

Man, still Code Complete? I dunno. Wasn't that big a fan, honestly. I think I got more out of the first three chapters than the sum of the rest of the book. If we're talking about technical books, Refactoring is easily the most beneficial read I can remember having. I was pleased to see it (barely) trump Design Patterns... a book that I think (through no real fault of it's own) has spoiled more developer-years than i…

While I have never read Code Complete, I know of at least one very smart guy who read it, highly recommends it, and is utterly incapable of maintaining legacy code he did not write. He simply refactors everything he touches, which is not to be recommended. There are no books I know of that teach you how to work in legacy code. It's a dying art.

Re: What is the single most influential book every programmer should read?

#56
post #31

The ranking of this list is extremely suspect. Code Complete is a fine book. The Pragmatic Programmer is okay. But neither book holds a candle to Introduction to Algorithms for career-long usefulness. For that matter, neither one holds a candle to Design Patterns for the ability to expand your mind and improve your ability to think about code (I read both at the same time, and Design Patterns is the only one whose le…

Design Patterns needs to be read with the understanding that the patterns are for specific types of languages and are not universally applicable.

Also, it should have a short appendix explaining that you do not get geek brownie points simply by using as many patterns as you can think of.

I realize these are not problems with the book per se, and it's worth reading, but some developers seem to get the wrong message from it.

Re: What is the single most influential book every programmer should read?

#58
post #19

I'm not sure that all those people on Stackexchange have read the question properly. The question is "What is the single most influential book every programmer should read?" I.e. given the set of books that every programmer should read, which one is the single most influential? As a programmer, lets consider the answer to the question, as parsed logically (regardless of intent). Typing 'most influential books' into G…

As you have mentioned 1984, I have to add Brave New World to the list. It provides a view of the future which in many aspects is a lot closer to our current culture than 1984. In terms of "ethics for technologists", this should definitely be required reading.

Re: What is the single most influential book every programmer should read?

#59
post #23

The Mythical Man-Month As always. Considering we are making great software, but a lot of projects still seem to go over the estimated time....then I guess learning about that is what will bring us ahead. Also this talk by Greg Wilson: http://vimeo.com/9270320

I remember hearing about it while I was at uni, and checking it out of my uni library. I read through it, and it was a dusty old tome full of references to long dead systems. And it was good, while not saying anything I was hugely shocked by, but making clear and sensible points. And now a few years down the line, I'm out of uni and working, and I find myself toying with buying it for my boss...

Do it, I bought Peopleware for a previous boss as a kind of thanks present when I left that project. He really enjoyed it I think.

Re: What is the single most influential book every programmer should read?

#60
post #31

The ranking of this list is extremely suspect. Code Complete is a fine book. The Pragmatic Programmer is okay. But neither book holds a candle to Introduction to Algorithms for career-long usefulness. For that matter, neither one holds a candle to Design Patterns for the ability to expand your mind and improve your ability to think about code (I read both at the same time, and Design Patterns is the only one whose le…

Personal preference I guess.

I reread Pragmatic Programmer every year.

The other two you mention I find pretty poor, to be honest. I may reference them once in a while, but to really understand the topics they cover I'll rely on a well written, colorful article over those books.

In general I've found books written by more than 2 authors to be quite boring, impersonal, and oftentimes misleading.

Code Complete and Pragmatic Programmer are two of my favorites alongside C, and the Practice of Programming.

Post reply on HN