Live data from Hacker News

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

stackoverflow.com

41–50 of 100 posts

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

#41

"Without Conscience: The Disturbing World of the Psychopaths Among Us" by Robert Hare. If only I understood more about how many corporate executives and venture capitalists think about things and regard others earlier in my career, it would have saved a lot of grief. Now that I understand this disorder and how it works, I am able to avoid distasteful and frustrating scenarios and get much more done.

What sort of situations have you encountered?

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

#44
H. Abelson and J. Sussman "Structure and Interpretation of Computer Programs" aka SICP if I had to chose only one, but Cormen, Leiserson, Rivest, Stein: "Introduction to Algorithms" and Sipser: "Introduction To The Theory Of Computation" are other must read ones.

Seriously, asking for one book to read is silly in a profession that is all about lifelong learning and disruption of established assumptions and paradigms. If you want something timeless, then you need to go way low level to the mathematical fundamentals of this profession.

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

#45
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…

"TAOCP: Decades ago, and not a serious suggestion"?

TAOCP is not even finished. My copy of volume 4a is copyright 2011. Although it's definitely not something every programmer should read, it's a fantastic resource when you run into a really, really hard problem. I think it's also a great source for recreational programming problems if you like that sort of thing.

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

#46

No love for Edward Yourdon's Death March? I think a copy should be given to every CS student upon graduation.

Haven't heard of Edward Yourdon, so Google'd. Since you are familiar, can you comment on this: http://sunsite.uakom.sk/sunworldonline/swol-07-1997/swol-07-...

It's a good read, but it's nearly 15 years old and there may not be enough context to where Yourdon was coming from. Almost as much time has passed since this essay was written as there was in Yourdon' career up to Death March. Much has happened since then. No one uses heavyweight methodologies, like UML. Processes are light and agile. Languages like Java, Python, and Ruby are way better, as are the associated tools. I consider the 1-week release cycle the biggest contributor to productivity.

It's ancient history. Lessons have been learned.

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

#47

Earlier quoted context omitted.

I think Code Complete deserves its usual top spot on these lists. You need to understand the skill set of the typical entry level coder, even after acquiring a CS degree. There is so very, very much they don't know and Code Complete helps fill in a lot of the gaps. Most usefully it helps instill the idea that it's important to use practices that are backed up by evidence and that there is a lot more to learn when you…

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

Someone once told me that the value of the GOF book was that it provides a common vocabulary for shared ideas. I believe that now. That's what (and maybe all) it's good for in my mind.

The problem with using it to impart a method of thinking in my mind is that the way of thinking (and the patterns themselves) really have to be earned. I think it's possible for a book to do a fair job at imparting that wisdom, but GOF is setup terribly for it. It's sort of like picking up a recipe book full of classical french dishes without learning about french cooking first. It's too easy to misunderstand the specific values and compromises of specific 'ingredients' and undo the benefit the pattern could provide altogether.

I've wondered before if GOF could be rethunk with Refactoring in mind. Starting with code smells is exactly right. The book should focus more on identifying problems with an approach, because that's the hard part. Solutions are much easier.

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

#48

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();

I'm not sure I agree. I suspect the vast majority of them (including abstract factories) make loads of sense in most languages.. it's just that strongly typed languages make many of the patterns complicated enough to implement that they deserve a chapter's worth of description.

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

#49
post #10

Wow there were a lot of bad suggestions in that thread. I was just waiting for 'C Programming for Dummies' to pop up posted by E. Trollguy. If you work in an object oriented language, I think one of the most useful books you could read would be Kent Beck's Smalltalk Best Practise Patterns. The reason being that the lessons and tricks Kent discusses in his book can be applied to Ruby, Python, Java, C#, C++, Delphi, an…

Hey, I know it's a laugh, but "C for Dummies" was my very first introduction to C when I was 13 (I didn't know about K&R yet) and is responsible for teaching this hacker about pointers and math thereupon.

While I still don't usually write C, having that base knowledge before jumping into high-level stuff like Perl and PHP in my middle teens was invaluable.

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

#50

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…

Part II (Creating High Quality Code), V (Code Improvements) , VI (System Considerations) and VII (Software Craftmanship) from Code Complete is one of the best SE reading I have had the pleasure to read. I don't consider that stuff basic (as compared to variable naming which you might be alluding to). The first three chapters are too basic IMO and are not even worth reading for any experienced professional.
Post reply on HN