Tuesday, December 8, 2009

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

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


most recent 30 from stackoverflow.com






What is the single most influential book every programmer should read?
2009-12-07 09:30

If you could go back in time and tell yourself to read a specific book at the beginning of your career as a developer, which book would it be?


I expect this list to be varied and to cover a wide range of things. For me, the book would be Code Complete. After reading that book, I was able to get out of the immediate task mindset and begin to think about the bigger picture, quality and maintainability.


Suggest your programming books
Answer by Justin Standard for What is the single most influential book every programmer should read?
2009-09-09 12:53

Code Complete by Steve McConnell



* "The encyclopedia of good programming practice, Code Complete focuses on individual craftsmanship -- all the things that add up to what we instinctively call "writing clean code." This is the kind of book that has 50 pages just talking about code layout and whitespace." --Joel (NB imo there's more to it than semantics)



Code Complete 2
Answer by saniul for What is the single most influential book every programmer should read?
2008-08-04 16:51

+1 for Code Complete


Also: What books would you recommend for a beginning Software Developer?
Answer by John Downey for What is the single most influential book every programmer should read?
2009-10-01 11:18

In podcast 12, Jeff and Joel list a myriad of recommended books. Personally though I highly recommend The Mythical Man-Month.


image
Answer by NotMyself for What is the single most influential book every programmer should read?
2008-08-04 16:55

John,


I am curious, why do you feel every developer should read The Mythical Man-Month? It is on my reading list but I have yet to read it.
Answer by hemil for What is the single most influential book every programmer should read?
2009-06-02 07:39

I recommend CODE by Charles Petzold. In this age of tools and IDEs that abstract a lot of complexity away from the programmers, this one is an eye opener.


alt text
Answer by Peter Coulton for What is the single most influential book every programmer should read?
2009-02-23 00:09

The Art of Computer Programming if only for the effort Knuth put into it.


alt text
Answer by shsteimer for What is the single most influential book every programmer should read?
2008-08-04 17:08

@John, NotMyself


+1 for Brooks' MMM


Its a classic book with many lessons regarding software projects that, though written over 30 years ago, are still relevant today. Brooks' writing style is easy to read and very friendly, and though there are parts where I find myself rolling my eyes at the datedness, there are many more times when I find my self nodding in agreement to the fact that what he is saying is still very relevant.
Answer by Xenph Yan for What is the single most influential book every programmer should read?
2009-09-09 12:55

The Pragmatic Programmer; it's more about your trade, and how to apply it than the code per se, but it's still very good.



* "This is a great book for programmers who have learned the mechanics of programming, maybe in college, but don't quite feel secure deciding what to do. It's like the difference between drafting and architecture. What you learned in that class in college was drafting, and you can draw beautifully, but if you still feel like you wouldn't quite know where to begin if someone told you to write a P2P music-swapping network all by yourself, this is the book for you." --Joel



The Pragmatic Programmer
Answer by John Downey for What is the single most influential book every programmer should read?
2008-08-04 17:22

@NotMyself


It contains a lot of really useful information on how to make sure your software project doesn't fail and what tends to trip up even the best development teams.
Answer by Chris Jester-Young for What is the single most influential book every programmer should read?
2009-10-07 14:37

I personally think Design Patterns by the Gang of Four is a very useful book. It's not about the "meta" aspects of programming like so many of the other suggestions, but it emphasises encapsulating good programming techniques as patterns, and has since encouraged others to come up with new patterns and antipatterns to use in programming dialogue.




Now for a rider....


@kevin, @modesty: Great answers! If I could place a 3-vote like on uservoice, I'd gladly use it here.


To the naysayers who downmodded them, I say: please, grow a sense of humour! :-)
Answer by Orion Edwards for What is the single most influential book every programmer should read?
2009-11-19 08:49

Why's (Poignant) Guide to Ruby !!!!!


Chunky bacon.
Answer by yoliho for What is the single most influential book every programmer should read?
2008-08-07 00:33

I have a different answer -- I really liked Joel's Best Software Writing I.


Maybe that's just me... but that collection opened my eyes to the "bigger picture" and inspired me to think of my programming as an art/craft.
Answer by nlucaroni for What is the single most influential book every programmer should read?
2008-08-04 18:25

@Peter Coulton -- you don't read Knuth, you study it.


For me, and my work... Purely Functional Data Structures is great for thinking and developing with functional languages in mind.
Answer by Graphain for What is the single most influential book every programmer should read?
2008-08-12 20:27

The Pragmatic Programmer after 12 months programming (when you can code as easy as you write).
Code Complete after ~6 months industry experience.
Answer by Mario Marinato -br- for What is the single most influential book every programmer should read?
2008-08-05 10:28

Code Complete is the number one choice, but I'd also cite Gang of Four's Design Patterns and Craig Larman's Applying UML and Patterns.


The Timeless Way of Building, by Christopher Alexander, is another great one. Even though it's about archtecture, it's included in the bibliography of many great programming books I have already read.


Another one, from which I'm learning lots of new things, is Data Access Patterns, by Clifton Nock.
Answer by marked for What is the single most influential book every programmer should read?
2008-08-05 10:35
I am going to have to say Pragmatic Programmer. It gives the best overview for software developers/engineers. I found the book very useful starting out, and still after a few years of professional work.
Answer by bcwood for What is the single most influential book every programmer should read?
2008-08-15 16:55

It depends on exactly what purpose you're aiming for - I like Code Complete for pure programming, and Don't Make Me Think is a great book on UI design.
Answer by Patrick McElhaney for What is the single most influential book every programmer should read?
2009-05-05 05:35

book cover


The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity, or any of Alan Cooper's books.


Because most programmers produce more WTFs/minute in the user interface than they do in the source code.
Answer by Wolfbyte for What is the single most influential book every programmer should read?
2009-10-07 14:58
Working Effectively with Legacy Code


by Michael Feathers. I don't think that any book has affected my opinion of how I code more than this one. It explicitly tells you how to deal with someone elses code but implicitly you'll learn what to avoid (and why).


Edit: Makes sense now.


alt text
Answer by Calanus for What is the single most influential book every programmer should read?
2009-10-01 12:46

I know that Design Patterns by the Gang of Four is a standard text, but rather than try and read that brick of a book start with the easier Head-First Design Patterns, and once you have got your head around the basic principles, progress to the great GoF bible...


Image
Answer by huseyint for What is the single most influential book every programmer should read?
2009-10-05 16:09

What about putting book image covers here, just the text is kinda'...boring.


Code Complete 2
The Pragmatic Programmer
Answer by Vaibhav for What is the single most influential book every programmer should read?
2009-10-02 12:46

Object-Oriented Analysis and Design with Applications by Grady Booch.
Answer by mando for What is the single most influential book every programmer should read?
2008-08-06 07:12

@NotMyself,


The Mythical Man Month tells a great story about the common themes of delivering software: what works, what doesn't, etc. It's amazing that the book is 30 years old and is still highly relevant.
Answer by Teifion for What is the single most influential book every programmer should read?
2008-08-07 09:45

The Bible, followed by How to win friends and influence people. Neither are specific to any field but they are the two books that have had the biggest (good) impact on my life.
Answer by Cristian for What is the single most influential book every programmer should read?
2008-08-07 18:32

I can't believe no one's mentioned Structure and Interpretation of Computer Programs (SICP). It's not a beginner's (as in it shouldn't be the first programming book you read) but it's been quite influential to me. This book explains why concepts like design patterns, high cohesion and low coupling are good things. On top of that you will learn why being able to pass around functions as arguments and return values is a great asset. You'll never program the same way after you grasp this concept.


Code Complete is a great book, but I would say it's a secondary book. You can't be a great programmer if you don't know how to program and Code Complete doesn't teach you that. Once you know the important concepts you can start applying the lessons in Code Complete. SICP and Code Complete are completely different books. In fact, reading both is probably the biggest one-two punch I can suggest to programmers.


I used SICP in my college course so I'm not sure how it would be as teach-yourself book, but I've read it since college and it's written very clearly and should be accessible to anyone with some knowledge of programming.
Answer by BrianLy for What is the single most influential book every programmer should read?
2008-08-08 08:16

Programming Pearls by Jon Bentley.
Answer by Tim Sullivan for What is the single most influential book every programmer should read?
2008-08-08 09:02

I'm going to go a different route than the other answers so far...


Hackers: Heroes of the Computer Revolution. It's an informal history of computers that really gives you an amazing feel for how this whole "computer culture" formed. It had a very powerful effect on me when I read it, oh, sometime around 1988.
Answer by Mike Woodhouse for What is the single most influential book every programmer should read?
2008-08-11 16:17

The first edition of Code Complete was hugely influential in its time. The second edition was somehow, well, annoying. From his initial assertion that he had not expected to have to update the book at all, through his (dubious) claim to have pretty much invented Extreme Programming, the book just didn't deliver a real update to the original. Or maybe it's just that I was a decade older?


I don't think MMM would carry as much weight at the outset of one's career as it does when one has some personal experience to provide context. And the same, but in a different way, applies to another favourite, Refactoring.


I think if I had to choose one book to make the most beneficial difference in someone else's programming career, it would be The Pragmatic Programmer.
Answer by bruceatk for What is the single most influential book every programmer should read?
2008-08-11 16:52

I've been arounda while, so most books that I have found influential don't necessarily apply today. I do believe it is universally important to understand the platform that you are developing for (both hardware and OS). I also think it's important to learn from other peoples mistakes. So two books I would recommend are:


Computing Calamities and In Search of Stupidity: Over Twenty Years of High Tech Marketing Disasters
Answer by Shane O'Grady for What is the single most influential book every programmer should read?
2009-10-02 11:23

I recommend Writing Solid Code. Old, but still very much worth a read.
Answer by booboojeebies for What is the single most influential book every programmer should read?
2008-08-12 13:39

Getting Real by 37 Signals. It doesn't matter if you don't "ship" something at the end of the day.
Answer by Grzegorz Gierlik for What is the single most influential book every programmer should read?
2008-08-16 03:13

For me this is "Programming Pearls by Jon Bentley.


It's about the most important thing -- identify the real problem and solve it in the simplest way.
Answer by Cros for What is the single most influential book every programmer should read?
2008-08-16 03:19

I found The Practice of Programming a very good read.
Answer by InSciTek Jeff for What is the single most influential book every programmer should read?
2009-02-13 05:00

For programming, without question, the "correct" answer is Code Complete. This book is really unparallelled in setting a framework of thought around a disciplined approach to the actual construction of code. McConnell was able to do this in a way that was largely agnostic to language of implementation and even in the types of systems the programmer is working on...useful stuff to anyone who spends any part of their day actually writing code.


Code Complete is also noteworthy in that this book was really the first to tackle only the construction aspects coding completely and while followed with other books by other authors, I believe Code Complete still stands as the most ambitious and successful in convincing you the practices that Steve advocates are paramount to successful programming.


To throw in another book by Steve McConnell, I think the book Rapid Development is equally important. While this book is somewhat less unique in the subject matter of running successful development teams, it is equally fun to read as Code Complete and no less important to programming project team leaders.


Code Complete for the good of the individual.
Rapid Development for the good of the team.
Answer by popopome for What is the single most influential book every programmer should read?
2008-08-16 12:42

Alice's Adventures in Wonderland
Best programmers have read the book!



* GeraldWeinberg - http://dn.codegear.com/article/30051

* Alan J. Peril - http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html

Answer by Mike Heinz for What is the single most influential book every programmer should read?
2008-08-16 12:51

I'm going old school with this: I think the most influential book on programming ever written is The Art of Computer Programming.
Answer by Martin for What is the single most influential book every programmer should read?
2009-11-19 17:32

I think I would have to recommend Refactoring: Improving the Design of Existing Code.


Refactoring: Improving the Design of Existing Code
Answer by Gustavo for What is the single most influential book every programmer should read?
2009-10-07 14:56
Peopleware


Demarco and Lister demonstrate that the major issues of software development are human, not technical. Their answers aren't easy--just incredibly successful. New second edition features eight all-new chapters.


alt text
Answer by Gustavo for What is the single most influential book every programmer should read?
2008-08-17 08:29


* Peopleware

* Mythical Man Month

* Psychology of Computer of Programming

Answer by Ran Biron for What is the single most influential book every programmer should read?
2008-08-17 08:54

Introduction to algorithms (Cormen, Leiserson, Rivest, Stein) - Code Complete teaches you how to program correctly, mythical man-month teaches you how to manage correctly, Design pattern teaches you how to design correctly...


This book teaches you how to write code.


Introduction to algorithms cover image
Answer by Ashwin for What is the single most influential book every programmer should read?
2008-08-18 07:27

The C Programming Language. Seriously!
Answer by Darryl Braaten for What is the single most influential book every programmer should read?
2008-08-18 12:54

NotMyself,


Not John, but answering you anyway. :)


Mythical Man-Month is the definitive text on projects going wrong. How it happens, what you can do to fix it, what you can't do to fix it. Since it is a classic a lot of people talk about it, so it helps if you have also read it.


The book is old and reading it today you will have a lot of wow I can't believe they did that moments. One that struck me in particular was how they managed documentation, actual hard copy to everyone, with daily edits printed and sent out, hundreds of pages. Compared with today were you would just have word doc or wiki.


It is a short book and doesn't take long to read, but is very informative.
Answer by James Marshall for What is the single most influential book every programmer should read?
2008-08-23 03:19

Not the most influential, but certainly a good read and absent so far is My Job Went To India by Chad Fowler. It consists of 52 chapters/mini essays giving guidance on how to differentiate yourself as a developer rather than a code monkey (whose work could easily be outsourced).
Answer by nmiranda for What is the single most influential book every programmer should read?
2008-08-22 09:56

I agree with Cristian, I think we should not forget SICP, I think every programmer should use it, al least as an exercise, you can complement it with;


The Little Schemer

alt text and


The Seasoned Schemer


alt text


I also include in the reading list Code Complete, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process and Design Patterns and Design Patterns: Elements of Reusable Object-Oriented Software
Answer by Mike Polen for What is the single most influential book every programmer should read?
2008-08-22 10:00

I though Jurgen did a decent job with his Top 100 Best Software Engineering Books, Ever.
Answer by csmba for What is the single most influential book every programmer should read?
2008-08-22 23:30


1. Google

2. Newsgroups and Forums (and now, SO)

3. blogs



Books are great, on the free time, on vacation, but relevent, up to the minut "save the day" information is from blogs/forums and internet stuff.
Answer by Thomas Vander Stichele for What is the single most influential book every programmer should read?
2008-08-25 14:59

Since you didn't say you wanted programming books specifically, I can be a little more creative.


Every programmer should have read Lewis Carol's Alice in Wonderland.


Slightly more down-to-earth - every programmer should read Getting Things Done - especially the ones that I work with, because once you 'get it' you will be annoyed at how unorganized other people can be :)
Answer by Chris Conway for What is the single most influential book every programmer should read?
2008-08-25 19:41

The books listed here in this question are great. Code Complete, Pragmatic Programmer, Head First Design Patterns, all great.


My contribution to this list is a free read and is really focused on getting back to (best practice) basics. Foundations of Programming is a free eBook from one of the contributors to the popular Alt.Net blogs CodeBetter, Karl Seguin.


Covers Domain Driven Design, Persistence, Dependency Injection, Unit Testing, ORM etc.


alt text
Answer by Dana for What is the single most influential book every programmer should read?
2008-08-26 06:35

Framework Design Guidelines will give you a very good start on how to organize code.
Answer by Pete for What is the single most influential book every programmer should read?
2009-08-26 21:24

Maybe not the single most influential for every programmer but... to expand really expand your mind about computation in general, and to learn to write some very interesting programs, I recommend the
Computational Beauty of Nature.


alt text


BTW, the author is now head of Microsoft's Live Labs.
Answer by Phillip Wells for What is the single most influential book every programmer should read?
2008-08-26 07:06

I second the recommendations for The Pragmatic Programmer and the Gang of Four's Design Patterns.


I also think that Joshua Bloch's Effective Java is first rate, even for those working in other languages. It's presented in an easy-to-digest, point-by-point style. I learned a lot from it about things like implementing hashCode() methods and so on.
Answer by levand for What is the single most influential book every programmer should read?
2008-08-26 07:33

I'll second the Little Schemer and the Seasoned Schemer. Not necessarily because you want to write Scheme, but actually, reading and understanding these has changed the way I think even about my Java code at my day job.
Answer by flipdoubt for What is the single most influential book every programmer should read?
2009-04-25 09:59

Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin


cover image
Answer by mattruma for What is the single most influential book every programmer should read?
2009-11-19 08:45
Practices of an Agile Developer


Working in the Real World.


alt text
Answer by lurks for What is the single most influential book every programmer should read?
2008-08-26 18:42

I think that "The Art of Unix Programming" is an excellent book, by an excellent hacker/brilliant mind as Eric S. Raymond, who tries to make us understand a few principles of software design (simplicity mainly). This book is a must for every programming who is about to start a project under Unix platform.
Answer by Antti Sykäri for What is the single most influential book every programmer should read?
2009-11-30 22:36

alt text


Personally, Structure and Interpretation of Computer Programs is by far the most influential programming book I have ever read.


Some classics like Code Complete, Refactoring and Design Patterns teach you the effective working habits and the painstaking details of the trade. Others, like Peopleware, Psychology of Computer Programming and The Mythical Man-Month delve into the psychosocial aspects of software development. Numerous others deal with algorithms. These books all have their place.


SICP, however, is in a different league. It is a book that will enlighten you. It will evoke in you a passion for writing beautiful programs. Moreover, it will teach you to recognize and appreciate that very beauty. It will leave you with a state of awe and an unquenchable thirst to learn more. Other books may make you a better programmer; this book will make you a programmer.


And in the meanwhile, you will learn a thing or two about functional programming (side effects won't be introduced until chapter three), lazy evaluation, metaprogramming (well, metalinguistic abstraction), virtual machines, interpreters, and compilers.


Some think that SICP is not a beginner's book. Personally, I probably wouldn't have appreciated the book in full without having some programming experience under my belt, but I would definitely recommend it for a beginner. The book is, after all, written for the famous 6.001, the introductory programming course at MIT. It may require an intellectual effort (especially if you do the exercises - and you should), but the reward is well worth the price.


Not convinced? Read the Foreword or the Preface to the First Edition. The full text is freely available on the web.
Answer by Gary Capell for What is the single most influential book every programmer should read?
2008-08-26 20:14

Ooh, a toss-up between Bentley's "Programming Pearls" and Kernighan and Ritchie's "The C Programming Language".
Answer by Rob Bazinet for What is the single most influential book every programmer should read?
2008-08-26 20:20

I know so many others have had the same answer but needed to add my 2 cents:


Code Complete by Steven McConnell
Answer by tuxedo for What is the single most influential book every programmer should read?
2008-08-27 10:23

Robert M. Pirsig's Zen and the Art of Motorcycle Maintenance has a little section near the end about Gumption Traps. That's the best advice I've ever read on how to debug code or solve problems in general. The rest of the book is pretty good, too.
Answer by FantaMango77 for What is the single most influential book every programmer should read?
2008-08-27 21:54

The Deadline: A Novel About Project Management by Tom DeMarco


alt text
Answer by toolkit for What is the single most influential book every programmer should read?
2008-08-27 17:33

+1 for How to Win Friends and Influence People
Answer by Paul Tomblin for What is the single most influential book every programmer should read?
2008-08-27 17:41

Mr. Bunny's Big Cup O' Java
Answer by Onorio Catenacci for What is the single most influential book every programmer should read?
2008-08-28 12:13

I have a few good books that strongly influenced me that I've not seen on this list so far:


The Psychology of Everyday Things by Donald Norman. The general principles of design for other people. This may seem to be mostly good for UI but if you think about it, it has applications almost anywhere there is an interface that someone besides the original developer has to work with; e. g. an API and designing the interface in such a way that other developers form the correct mental model and get appropriate feedback from the API itself.


The Art of Software Testing by Glen Myers. A good, general introduction to testing software; good for programmers to read to help them think like a tester i. e. think of what may go wrong and prepare for it.


By the way, I realize the question was the "Single Most Influential Book" but the discussion seems to have changed to listing good books for developers to read so I hope I can be forgiven for listing two good books rather than just one.
Answer by Kim for What is the single most influential book every programmer should read?
2008-08-28 13:27

To answer the first question I would be original and say Code Complete;) And Pragmatic Programmer in a close second. But to answer the rephrased question:





If you could go back in time and tell
yourself to read a specific book at
the beginning of your career as a
developer, what book would it be?



I´m not quite sure. I do not think Code Complete would be as valuable in the beginning of my career. I´t is a harder question. Maybe "Object Oriented Analysis and Design" should top the list then.
Answer by joel.neely for What is the single most influential book every programmer should read?
2008-08-28 16:47

While I agree that many of the books above are must-reads (Pragmatic Programmer, Mythical Man-Month, Art of Computer Programming, and SICP come to mind immediately), I'd like to go in a slightly different direction and recommend A Discipline of Programming by Edsger Dijkstra. Even though it's 32 years old, the emphasis on "design for verifiability" is highly relevant (even if "verifiability" means "proof" instead "unit tests").
Answer by moobaa for What is the single most influential book every programmer should read?
2008-08-28 23:31

+1 for "The Mythical Man Month" - it's fascinating that the same issues exist in software projects after 30-40 years.


Another +1 for "Programming Pearls" (and a more hesitant recommendation for later books in the series); PP encourages you to think rationally about problems.
Answer by Nathan for What is the single most influential book every programmer should read?
2009-08-05 13:52

The C Programming Language by Kernighan and Ritchie.


The C Programming Language Book


It is concise, easy to read, and it will teach you three things: the C programming language, how to think like a programmer, and the low-level computational model. (It is important to understand what's going on "under the hood".)
Answer by John Channing for What is the single most influential book every programmer should read?
2009-10-07 15:05
Effective C++ and More Effective C++


From the early days of my career, Scott Meyer's Effective C++ and later More Effective C++ both had an immediate impact on my programming ability. As a friend put it at the time, those books allow you to short cut the process of developing programming skills that otherwise would have taken years.


alt text


In the last year, the book with the biggest impact on my thinking has been The Cathedral and the Bazaar which taught me a lot about how the open source development process works and how to get rid of bugs from my code.
Answer by christefano for What is the single most influential book every programmer should read?
2008-09-01 01:14

There are a lot of votes for Steve McConnell's Code Complete, but what about his Software Project Survival Guide book? I think they're both required reading but for different reasons.
Answer by pbhogan for What is the single most influential book every programmer should read?
2008-09-01 09:22

I recently read Dreaming in Code and found it to be an interesting read. Perhaps more so since the day I started reading it Chandler 1.0 was released. Reading about the growing pains and mistakes of a project team of talented people trying to "change the world" gives you a lot to learn from. Also Scott brings up a lot of programmer lore and wisdom in between that's just an entertaining read.


Beautiful Code had one or two things that made me think differently, particularly the chapter on top down operator precedence.
Answer by Terry Longrie for What is the single most influential book every programmer should read?
2008-09-01 09:40

The Design of Everyday Things and Things that Make Us Smart - both by Donald Norman


These apply to so much more than just user interface design... Make things that work as others would expect - even if the others are developers using code that you've created.


The Timeless Way of Building - Christopher Alexander


The original "patterns" book. Helps to understand why some software design just "feels" right and some does not.
Answer by Apocalisp for What is the single most influential book every programmer should read?
2008-09-17 00:33

Great question!


After some consideration, I would have to say The Fountainhead by Ayn Rand. Not a programming book, but makes you think about what you want out of your work at a higher level.
Answer by ricin for What is the single most influential book every programmer should read?
2008-09-02 00:23

This isn't a direct answer to the question, because I feel it's already been answered above, however, one of the books that definitely had an impact on how I code is Code Reading, Volume 1: The Open Source Perspective.


alt text
Answer by Tanj for What is the single most influential book every programmer should read?
2008-09-02 10:07

The only software design type of book I have read is The C Programming Language by K&R. I read it the first time when I was 12 and I asked my dad for a book to teach me how to program. I keep going back to it time and again when ever I get a urge to program. Since I don't yet program for a living I don't have it all internalized.


Joel on Software is something worth reading even if you aren't a manager or team lead. If you are just starting out in the software industry it will give you an idea of what a software company should look like and have in place ie. The Joel Test.
Answer by Ced-le-pingouin for What is the single most influential book every programmer should read?
2008-09-02 12:05

Hey, my favorite book, Alice in Wonderland, has been mentioned :D


Other than that... I was blown away when I read Javascript: The Definitive Guide, because at the time it was the only JS book I'd read that wasn't talking about crappy rollovers or things like that.


It may be the first time I learned the OO side of javascript, and the book was by far the most complete on the language (core, and browser-side).


I wish I'd read it before getting bad habits and a false image of JS.


Of course the situation is much different now, with many books by JS gurus who have written stylish and robust JS like jQuery and the like...
Answer by andyp for What is the single most influential book every programmer should read?
2009-10-29 03:29

A great follow on to Code Complete - indispensable once you start working on projects of any decent size & need to communicate to your stakeholders about project delivery dates, etc.



Software Estimation by Steve McConnel
Answer by axs6791 for What is the single most influential book every programmer should read?
2008-09-02 20:05

Design Patterns by the Gang of Four, I keep referring to it over and over again.
Answer by Marcio Aguiar for What is the single most influential book every programmer should read?
2008-09-02 20:41

alt text


Domain Driven Design have great guidelines on how to build your software model in a way it communicates better.


alt text


Effective Java 2ed will teach you how to write beatiful and effective code. It's a java book, but there's many cross-language concepts.
Answer by domoaringatoo for What is the single most influential book every programmer should read?
2008-09-02 21:41

I'm backing the Mythical Man-Month as well, with all those before me. Other books have great insights on how to code, the practical knowledge of the craft, Brooks' work however so clearly illustrates those human failures that arise in any real software engineering project. It's almost a crime for young programmers to be sent out into the corporate world without having this in their back pocket.
Answer by Kevin Berridge for What is the single most influential book every programmer should read?
2008-09-03 09:16

I would say:



1. Pragmatic Programmer

2. Don't Make Me Think - Steve Krug



Don't Make Me Think is a book about Usability, but I've found it applies equally well to code and "standards" and "best practices" ...
Answer by mmorrisson for What is the single most influential book every programmer should read?
2008-09-03 10:58


* Sedgewick's Algorithms in C++

* Effective Java by Joshua Bloch

* Java Performance Tuning by Shirazi

Answer by Boiler Bill for What is the single most influential book every programmer should read?
2008-09-03 12:45


* The Pragmatic Programmer for beginning developers

* Peopleware for beginning managers

Answer by benc for What is the single most influential book every programmer should read?
2008-09-03 18:10

Code is Law - you are doing all this writing, editing, and thinking in [language of your choice] but WHY? What does you code MEAN? What will does it actually DO?


(I could have recommended a book on QA, but I didn't...)
Answer by Matt Warren for What is the single most influential book every programmer should read?
2009-03-01 13:52

I really recommend programming pearls, it's got some amazing stuff in it, although I'm not ashamed to admit that I didn't understand half of it!


alt text
Answer by Tim Howland for What is the single most influential book every programmer should read?
2009-04-25 10:08

For a truly deep read, I'd suggest Douglas Hofstadter's Gödel, Escher, Bach. He dives pretty deep into many of the issues that programmers face every day- recursion, verifiability, proof, and boolean algebra. Great read, a little off the beaten path, occasionally challenging, and extremely rewarding once you fight through it and process what you've read.


Answer by MattW. for What is the single most influential book every programmer should read?
2008-09-04 06:14

Zen and the Art of Motorcycle Maintenance. Go now, read it.
Answer by db for What is the single most influential book every programmer should read?
2009-10-15 18:41

I'm surprised no one's mentioned the Dragon Book by Aho et al. (or if it has been mentioned, I missed it).


Compilers (The Dragon Book) by Aho et al
Newer Version


I will never forget the first edition's cover. This book made me realize just how magically awesome compilers truly are. :)
Answer by akr for What is the single most influential book every programmer should read?
2009-07-24 02:15

For me the most influencal book is "Zen and the Art of Motorcycle Maintenance" by Robert Pirsig. It is all about no matter what you do, always thrive for perfection, know your tools and task at hand inside-out, and, most of all, have fun (because if you are having fun, everything automatically leads to better results).


alt text


This book has a more recent edition (2000).
Answer by Michael Hinds for What is the single most influential book every programmer should read?
2008-09-06 07:25

I was lucky enough to read this pretty early in my so-called career:


Philip and Alex's Guide to Web Publishing


It was cutting edge in 1998 and still has plenty of relevant points. I found it an enjoyable read with a real sense of humour (not the twee kind you often get in software books). When he gets down to the details he talks about specific platforms though, so it shows it's age when Oracle 7 is mentioned!


I would still put this at the top of the required reading list for a web developer because of the way it assumes no prior knowledge, starting from first principles ("what's HTML?")


alt text
Answer by Luther Baker for What is the single most influential book every programmer should read?
2008-09-06 09:15

Pro Spring is a superb introduction to the world of Inversion of Control and Dependency Injection. If you're not aware of these practices and their implications - the balance of topics and technical detail in Pro Spring is excellent. It builds a great case and consequent personal foundation.


Another book I'd suggest would be Robert Martin's Agile Software Development (ASD). Code smells, agile techniques, test driven dev, principles ... a well-written balance of many different programming facets.


More traditional classics would include the infamous GoF Design Patterns, Bertrand Meyer's Object Oriented Software Construction, Booch's Object Oriented Analysis and Design, Scott Meyer's "Effective C++'" series and a lesser known book I enjoyed by Gunderloy, Coder to Developer.


And while books are nice ... don't forget radio!


... let me add one more thing. If you haven't already discovered safari - take a look. It is more addictive than stack overflow :-) I've found that with my google type habits - I need the more expensive subscription so I can look at any book at any time - but I'd recommend the trial to anyone even remotely interested.


(ah yes, a little obj-C today, cocoa tomorrow, patterns? soa? what was that example in that cookbook? What did Steve say in the second edition? Should I buy this book? ... a subscription like this is great if you'd like some continuity and context to what you're googling ...)
Answer by RTipton for What is the single most influential book every programmer should read?
2008-09-06 11:45

I would have to say "Code Complete" and "Software Estimation" by Steve McConnell.
Answer by J.F. Sebastian for What is the single most influential book every programmer should read?
2008-09-06 12:00

@lurks


The Art Of UNIX Programming by Eric S. Raymond


It is useful regardless operating system you use.
Answer by Sven Semmler for What is the single most influential book every programmer should read?
2008-09-06 23:12

"Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams" by Steve Maguire.


No-non-sense, down-to-earth, entertaining, profound.


[ http://beta.stackoverflow.com/questions/559/what-books-would-you-recommend-for-a-beginning-software-developer#1150 ]
Answer by Matt for What is the single most influential book every programmer should read?
2008-09-07 19:09

Since you've asked for the single most influential book, I recommend Deitel's "C++ How to Program. This is the one I kept referencing throughout University.


I actually enjoyed reading Head First Design Patterns and Joel On Software more, but they came along after I'd learned the basics
Answer by pkoch for What is the single most influential book every programmer should read?
2008-09-07 19:59

I found "The art of Prolog" a very good read.
Answer by Dominic Eidson for What is the single most influential book every programmer should read?
2008-09-07 20:55

I think I grew up in a different generation than most here....


One of the most influential books I read, was APUE.


Or pretty much anything by W. Richard Stevens.
Answer by Steve Bosman for What is the single most influential book every programmer should read?
2008-09-08 02:52

+1 for Zen and the Art of Motorcycle Maintenance


Before people start coding they need to have thought about how they approach and break down problems
Answer by ddowns for What is the single most influential book every programmer should read?
2008-09-08 05:59

I'd have to second Refactoring: Improving the Design of Existing Code. It was the single biggest help for me to get unstuck while moving from a procedural mindset to a OOP one. During that time I was to focused on getting the design and model correct from the get go, and wasted a lot of time doing so. After reading through this book a few lights turned on, or at least shined bright enough, for me to realize my follies. Do the best you can now that fits the time, the code will change and many times in ways you couldn't foresee to begin with. The real kicker is that this always happens, no matter what, and to just not worry about it. In short, this book helped ground me and get my head out of the clouds.


alt text
Answer by Konamiman for What is the single most influential book every programmer should read?
2008-09-08 06:20

I would say Code Complete too, anyway after reading it I have a question: what's the matter with the Pontiac Aztek and why has Steve McConnell a trauma with it?
Answer by Bobby Jack for What is the single most influential book every programmer should read?
2008-09-08 08:05

Another vote for "The Art of Unix Programming by Eric S. Raymond". Even if you aren't a Unix programmer, the explanation of simple, clean, yet powerful processes will convince you that you should be ;-)
Answer by Jake Hackl for What is the single most influential book every programmer should read?
2008-09-08 10:56

Code complete, domain driven design, and Dreaming in Code to show how it can work out in the end.
Answer by Thomas H for What is the single most influential book every programmer should read?
2008-09-08 20:21

My development odyssey began with the venerable Camel book, followed by Cay Horstmann's and Gary Cornell's excellent Core Java series. In retrospect this was a reasonable start, though far heavier on practice than principles and concepts.


As a few have said, most influential and most influential in the context of beginning a development career may be very different. I didn't appreciate many of the stellar recommendations here such as SICP, Code Complete, Mythical Man Month, the Pragmatic Programmer, and Peopleware until I'd had a few years and a few projects under my belt.


Andy Hunt and Dave Thomas put it best - continually invest in your knowledge portfolio - read a new book every quarter.
Answer by Will Sargent for What is the single most influential book every programmer should read?
2008-09-08 20:26

Code Complete, version 2 is the single most useful book you'll read about programming.


Domain Driven Design is the single most useful book you'll read about Software Engineering; putting code together in the right way.


And just to round out the list, Software Creativity by Robert L Glass; it's a book that will make you look at how you look at software.
Answer by Gürkan Yeniçeri for What is the single most influential book every programmer should read?
2008-09-09 17:42

Roger S. Pressman - Software Engineering (A Practitioners Approach). It has got a lot of usefull information.
Answer by fuzzbone for What is the single most influential book every programmer should read?
2008-09-10 07:06




Books are great, on the free time, on vacation, but relevent, up to the minut "save the day" information is from blogs/forums and internet stuff.



I have to respond to this. Clearly for answers to specific questions and probelms, sites like this and the methods described above are obviously the best. For cutting-edge newest technology, the lead time for books obviously is going to leave you no choice but use the internet. And perhaps my age (46) is a bias here.


But one of the things that troubles me greatly has been the decline of Technical Publishing. A lot of tech writers are moving away for it because it doesn't "pay the bills' (Petzold for example) and as I mentioned - there is likely a generational thing (I'll just have to "get-over") I don't like doing extensive reading on a laptop screen...


But I think to truly get a "Deep Understanding" of a broad topic - the effort necessary to write a book allows the writer to focus his or her thoughts in a way that otherwise I don't belief lets the reader truly "Grok" a deep concept.


Yes if you want a "how-to" - a good web post might be more than sufficient. But if I REALLY need to understand something, I want a good book.


Furthermore, when I need to go back to something, I always know where that darn book is on my bookshelf. But how many times have you pulled your hair out trying to find that link you know you say several months ago?


Please everyone here - support tech writers (who derserve it) by BUYING the book!
Answer by Joe for What is the single most influential book every programmer should read?
2008-09-10 07:31

I prefer Stroustrup's The C++ Programming Language (3rd edition) - it's the C++ book. C++ may be out of fashion these days, but this book takes you from the basics to OO to templates (STL) and even covers things like improving compile and link time. I still learn something every time I pick it up, and it's never, ever bad to know C++.
Answer by Kilhoffer for What is the single most influential book every programmer should read?
2008-09-10 08:08

I thought Design Patterns in C# by John Metsker was good. The examples are a bit more advanced (and useful) than some other design pattern books I've read.


alt text
Answer by Kilhoffer for What is the single most influential book every programmer should read?
2008-09-10 08:07

This one isnt really a book for the beginning programmer, but if you're looking for SOA design books, then SOA in Practice: The Art of Distributed System Design is for you.


alt text
Answer by blowmage for What is the single most influential book every programmer should read?
2008-09-10 08:35

There are alot of really great books in the answers. One that isn't mentioned that I absolutely love is Object Thinking by Dr. David West. This book had a huge impact on me because it explains the why more than the how.


Object Thinking
Answer by Spyplane for What is the single most influential book every programmer should read?
2008-09-10 08:46


* -1 For Code Complete

* +1 For Pragmatic Programmer

* +1 For SICP



I don't know if it was because I read the Pragmatic Programmer first, but I thought Code Complete was the biggest book I've ever read that didn't really ever say anything. I mean there is a lot of text there, but no substance in my opinion. You get a lot more out of the 300 pages of the Pragmatic Programmer than you will ever get out of the 800 pages of Code Complete.


I also have to second Structure and Interpretation of Computer Programs. It is definitely is the most influential book on programming that I have ever read.
Answer by Garth Roxburgh-Kidd for What is the single most influential book every programmer should read?
2008-09-10 20:15

Do users ever touch your code? If you're not doing solely back-end work, I recommend About Face: The Essentials of User Interface Design — now in its third edition (linked). I used to think my users were stupid because they didn't "get" my interfaces. I was, of course, wrong. About Face turned me around.
Answer by Josh K for What is the single most influential book every programmer should read?
2008-09-10 20:32

I'd recommend The Dilbert Principle: A Cubicle's-Eye View of Bosses, Meetings, Management Fads & Other Workplace Afflictions for a good cry. Too close to home to be funny though..
Answer by Henrik Warne for What is the single most influential book every programmer should read?
2009-04-25 09:18

Code Complete is the classic.


However, Facts and Fallacies of Software Engineering by Robert Glass has a lot of good information on topics other than coding, for example people-issues, testing and process.



cover
Answer by busse for What is the single most influential book every programmer should read?
2008-09-11 18:06

Not a programming book, but still a very important book every programmer should read:


Orbiting the Giant Hairball by Gordon MacKenzie
Answer by Scott Faria for What is the single most influential book every programmer should read?
2009-04-25 08:55

This is a great book for a Java developer new or old:


Effective Java by Joshua Bloch
Answer by mattruma for What is the single most influential book every programmer should read?
2008-09-13 08:53

Code Craft by Pete Goodliffe is a good read!


Code Craft
Answer by dr-jan for What is the single most influential book every programmer should read?
2008-09-15 10:03

The Unix Programming Environment by Brian Kernighan and Rob Pike. After reading this I 'got' Unix. I understood the philosophy behind it and everything suddenly started making much more sense.


It's also a brilliant introduction to the Bourne shell and C programming.
Answer by boz for What is the single most influential book every programmer should read?
2008-09-15 10:35

I would have to say Programming Pearls as a good overview. There are so many great books on Programming, and so many more bad ones.
Answer by JP Lodine for What is the single most influential book every programmer should read?
2008-09-15 11:08

Michael C. Feathers' Working Effectively With Legacy Code. Very useful for the substantial number of programmers who work on mature systems that need maintenance, tweaks and refactoring.
Answer by mbowcock for What is the single most influential book every programmer should read?
2008-09-15 11:19

Code Complete has been mentioned numerous times - and is definitely a great book and I agree with Introduction to algorithms. To add one to the list - as a good primer for algorithms - Concrete Mathematics by Knuth - this book explains the underlying math used in higher levels of compsci.
Answer by Bryan Oakley for What is the single most influential book every programmer should read?
2008-09-15 11:25

Software Tools by by Brian W. Kernighan and P. J. Plauger


It had a profound influence on how I write software.
Answer by wustudybreak for What is the single most influential book every programmer should read?
2008-09-15 12:03

Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp


http://norvig.com/paip.html
Answer by Sijin for What is the single most influential book every programmer should read?
2008-09-15 12:08

Depends on where the programmer is in terms of his understanding of the craft :) But yeah Code Complete is definitely the first one for me.
Answer by Sergio Morales for What is the single most influential book every programmer should read?
2008-09-15 12:14

For me, The Mythical Man-Month was an eye opener. Maybe not strictly a programming book, but it did make me think about how to organize a project and thus come up with a better result.


alt text
Answer by Stephen Marney for What is the single most influential book every programmer should read?
2008-09-15 12:44

Tracy Kidder's The Soul of a New Machine. Not the most influential but certainly one of my most enjoyed industry reads.


Tracy Kidder's The Soul of a New Machine
Answer by WaldWolf for What is the single most influential book every programmer should read?
2008-09-15 13:29

to get advanced in prolog i like these two books:


The Art of Prolog


The Craft of Prolog


really opens the mind for logic programming and recursion schemes.
Answer by for What is the single most influential book every programmer should read?
2008-09-15 16:04

My favorite books are already covered here, but if you need to learn Java, I enjoyed Bruce Eckel's book, Thinking in Java.


alt text
Answer by AShelly for What is the single most influential book every programmer should read?
2008-09-15 18:12

Here are two I haven't seen mentioned:

I wish I had read "Ruminations on C++" by Koenig and Moo much sooner. That was the book that made OO concepts really click for me.

And I recommend Michael Abrash's "Zen of Code Optimization" for anyone else planning on starting a programming career in the mid 90s.
Answer by Larry OBrien for What is the single most influential book every programmer should read?
2008-09-15 20:25

"The World is Flat" by Thomas Friedman.


Excellence in programming demands an investment of mental energy and a dedication to continued learning comparable to the professions of medicine or law. It pays a fraction of what those professions pay, much less the wages paid to the mathematically savvy who head into the finance sector. And wages for constructing code are eroding because it's a profession that is relatively easy for the intelligent and self-disciplined in most economies to enter.


Programming has already eroded to the point of paying less than, say, plumbing. Plumbing can't be "offshored." You don't need to pay $2395 to attend the Professional Plumber's Conference every other year for the privilege of receiving an entirely new set of plumbing technologies that will take you a year to learn.


If you live in North America or Europe, are young, and are smart, programming is not a rational career choice. Businesses that involve programming, absolutely. Study business, know enough about programming to refine your BS detector: brilliant. But dedicating the lion's share of your mental energy to the mastery of libraries, data structures, and algorithms? That only makes sense if programming is something more to you than an economic choice.


If you love programming and for that reason intend to make it your career, then it behooves you to develop a cold-eyed understanding of the forces that are, and will continue, to make it a harder and harder profession in which to make a living. "The World is Flat" won't teach you what to name your variables, but it will immerse you for 6 or 8 hours in economic realities that have already arrived. If you can read it, and not get scared, then go out and buy "Code Complete."
Answer by Youssef for What is the single most influential book every programmer should read?
2009-10-26 13:06

Programing Pearl, J.Bentley
Pragamtic programmer.
Mythical man month
Answer by Ben Dempsey for What is the single most influential book every programmer should read?
2008-09-15 20:42

alt text
Answer by Saul for What is the single most influential book every programmer should read?
2008-09-16 07:20

Lean Software Development by Mary and Tom Poppendieck is definitely one for every developers bookshelf
Answer by alumb for What is the single most influential book every programmer should read?
2008-09-16 09:48

Here Comes Everybody: The Power of Organizing Without Organizations - Clay Shirky
alt text


This is an incredible book about the social effects of the internet. A must read for anyone in the tech industry, doubly so for programmers.





Here Comes Everybody: The Power of Organizing Without Organizations is a book about what happens when people are given the tools to do things together, without needing traditional organizational structures.

Answer by Lck for What is the single most influential book every programmer should read?
2008-09-16 16:43

I'd suggest "Modern C++ Design" by Andrei Alexandrescu, a really astonishing book about the awesome tricks and patterns you can achieve with C++, preprocessor directives and templates.


Modern C++ Design
Answer by mike511 for What is the single most influential book every programmer should read?
2008-09-16 19:21

ok, this is a slightly off-center answer, but believe it or not, it was on the reading list for a compsci course way back in the day. An excellent role model and a good book about curiosity.


alt text
Answer by Jonathan Barbero for What is the single most influential book every programmer should read?
2008-09-16 20:19

The Art of Computer Programming without any doubt


First Volume Hardcover
Answer by gio for What is the single most influential book every programmer should read?
2008-09-17 05:58

for low level entertainment i would suggest Michael Abrash's

i) -Zen of Code Optimization- and

ii) -Graphics Programming Black Book-

even if you dont do any graphics programming.
Answer by Lot105 for What is the single most influential book every programmer should read?
2008-09-17 12:34

If you are doing anything in Unix/Linux/MacOS etc, you must read Advanced Programming in the Unix Environment (also known by the acronym APUE), by the late W Richard Stevens. If you don't know how file descriptors work or what sessions are, or all the things you should do when you daemonize yourself (admit it, you don't), then this book will tell you.


You'll feel amatuerish for a bit afterwards, but if you want to consider yourself a professional programmer (in any language) in the Unix environment you need to read this.
Answer by workmad3 for What is the single most influential book every programmer should read?
2008-09-17 12:55

There isn't a single book I can pinpoint as more influential than the rest. A lot of the books that I would consider as influential to my current knowledge also wouldn't have made sense to me when I started programming.
Answer by Christophe Herreman for What is the single most influential book every programmer should read?
2008-09-17 22:24

I would say that "Beyond Code - Learn to Distinguish Yourself in 9 Simple Steps" is quite a good and motivational book. I doesn't cover technical issues, but it describes ways of working with people, being professional, ... For me, this is a book you can read again and again if you are in need of some pep talk. Besides that, it is cheap and very easy and enjoyable to read in 3 to 4 hours.


There is a little review over at my blog: http://www.herrodius.com/blog/54
Answer by Ford for What is the single most influential book every programmer should read?
2008-09-18 01:07

Whether you are coding in Smalltalk or not Smalltalk Best Practice Patterns is a great read. Full of small observations that will change the way you code; for the better.
Answer by dungema for What is the single most influential book every programmer should read?
2008-09-18 11:17

Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin


Agile Software Development
Answer by Dustman for What is the single most influential book every programmer should read?
2008-09-18 18:51

Design Patterns, of course. And the UML User's Guide.
Answer by Shabbyrobe for What is the single most influential book every programmer should read?
2008-09-18 20:51

If you're involved with Enterprise Applications at all, Martin Fowler's Patterns of Enterprise Application Architecture is a must-have.
Answer by Brian Paden for What is the single most influential book every programmer should read?
2008-09-18 21:54

Code Complete is the most influential by far, if I had the money I would buy copies and hand them out to every programmer I know.


Since programmers are well known for their social skills :P


How to Win Friends and Influence People


Not that all programmers have problems dealing with people, anyone can benefit from reading this book.
Answer by Simon Knights for What is the single most influential book every programmer should read?
2008-09-19 04:11

"Code Complete" taught me some fundamental ways of thinking about programming.


"Object Thinking" by David West.


"The pleasure of finding things out" taken from various interviews with Richard Feynman - everyone should read this - programmer or not.
Answer by Doug L. for What is the single most influential book every programmer should read?
2009-03-05 09:19

"The Fortran Coloring Book" by Dr. Roger Kaufman (1978, ISBN:0262610264)


What a silly concept - more basic than even a "Dummies" book! But it works for any language (with a few fortran specific examples of course), explaining the basic concepts of logic, variables, i/o, etc. in a very understandable and "Painfully Funny" way.


It's enough to get a ten year old interested in programming...


alt text


(Found cover photo on a Flickr user account)
Answer by MovingSpotlight for What is the single most influential book every programmer should read?
2008-09-21 05:09

recommended for Windows Programmer, Programming Windows
Answer by Krirk for What is the single most influential book every programmer should read?
2008-09-22 22:48

alt text


C++ How to Program It is good for beginner.This is excellent book that full complete with 1500 pages.
Answer by d03boy for What is the single most influential book every programmer should read?
2008-09-22 22:52

The dinosaur book about Operating Systems
Answer by CR for What is the single most influential book every programmer should read?
2008-09-24 16:44

A Whole New Mind, by Daniel Pink. Interesting take on the future of our industry.


I assume most of the folks reading this will have read the books at the top of the list already. So, i'll offer a book that takes a different look at our industry.


alt text
Answer by Edu Felipe for What is the single most influential book every programmer should read?
2008-09-25 05:51

Code Craft


I personally think this is a little better than the venerable Code Complete. Pete Goodliffe has a very practical approach, and the book is a lighter read.
Answer by J.F. Sebastian for What is the single most influential book every programmer should read?
2008-09-29 00:14

Strunk, William. Elements of Style


elements of style
Answer by Geoff Snowman for What is the single most influential book every programmer should read?
2008-10-02 15:46

Anything by Edward Tufte: The Visual Display of Quantitative Information; Envisioning Information; Visual Explanations
Answer by davidnicol for What is the single most influential book every programmer should read?
2008-10-03 14:16

beautiful code
Answer by spilth for What is the single most influential book every programmer should read?
2008-10-03 14:26

The Pragmatic Programmer


And its best advice is to invest in your own knowledge by reading more books :-)
Answer by Ray Tayek for What is the single most influential book every programmer should read?
2008-10-03 14:43

"clean code" by uncle bob is pretty good: http://books.slashdot.org/article.pl?sid=08/09/23/2243216&from=rss
Answer by levi rosol for What is the single most influential book every programmer should read?
2009-04-29 23:10

Surprised that no one has mentioned Martin Fowler's Patterns of Enterprise Application Architecture yet


alt text


crap! didn't realize there are 7 pages of responses. at least this one has the book cover img.
Answer by AviD for What is the single most influential book every programmer should read?
2008-10-05 07:47

One of the best books on what NOT to do is AntiPatterns (Refactoring Software, Architectures and Projects in Crisis) from Wiley.
Answer by AviD for What is the single most influential book every programmer should read?
2009-10-13 01:08

Another book that has not been mentioned yet, and SHOULD be required reading for EVERY programmer, newbies on up to gurus, in ANY programming language, is Michael Howard's Writing Secure Code (2nd Edition) from MSPress.


alt text
Answer by John Nilsson for What is the single most influential book every programmer should read?
2008-10-07 14:56

alt text
Answer by pookleblinky for What is the single most influential book every programmer should read?
2008-10-07 16:20

George Polya's "How To Solve It"


It might seem dry, overly mathematical, and antiquated, but there are few better books on learning how to break a seemingly formidable problem into workable sub-problems and how to learn from previous problems.
Answer by Ben Godfrey for What is the single most influential book every programmer should read?
2008-10-08 09:38



Facts and Fallacies of Software Engineering by Robert L. Glass is a really excellent book. I had been a professional hacker for almost 10 years before I read it, and a I still learned a ton of stuff.
Answer by for What is the single most influential book every programmer should read?
2008-10-13 07:29

The key word in the question is "career". Read "How to Win Friends and Influence People". Nothing I've read made me even close to as much money and advanced my career as much as that book.


To have a successful career, you will need to interact well with other people. You've probably been exposed to dozens of technical books in college. But how much did you study how to get along with your coworkers, bosses, customers, etc. in college? "How to Win Friends and Influence People" gives you a blueprint for that. Your career will be much much more successful and smoother.


I was so astonished by this book, that I've given away about 30 copies of it. Not a single person has failed to be impressed by it.
Answer by Tarski for What is the single most influential book every programmer should read?
2008-10-14 05:04

Discrete Mathematics For Computer Scientists


Discrete Mathematics For Computer Scientists by J.K. Truss.


While this doesn't teach you programming, it teaches you fundamental mathematics that every programmer should know. You may remember this stuff from university, but really, doing predicate logic will improve you programming skills, you need to learn Set Theory if you want to program using collections.


There really is a lot of interesting information in here that can get you thinking about problems in different ways. It's handy to have, just to pick up once in a while to learn something new.
Answer by the0ther for What is the single most influential book every programmer should read?
2008-10-15 09:51

it was neat to see some people mention books i'd never heard of before, particularly SICP. i also think that little schemer is an awesome awesome book. i haven't seen anyone list this one yet. the art of unix programming.


the art of unix programming
Answer by Kaczor for What is the single most influential book every programmer should read?
2008-10-18 08:34

Dijkstra's "A Discipline of Programming"
Answer by sergio_petralia for What is the single most influential book every programmer should read?
2008-10-18 08:39

OK, so the question is not "what's the best programming book", but "if you could tell yourself what to read in the beginning of your career"...


Probably one of "On Lisp" and SICP, plus one of CLRS or "Algorithms: a creative approach" by Udi Manber.




The first two will teach lots of programming techniques, patterns, and really open up one's mind to his/her own creativity; the other two are different. They're more theoretical, but also very important, focusing on design of correct and efficient algorithms (and requiring substantially more math).


I see lots of people recommending the three first books when the subject of "good programming books" pops up, but the last one (by Manber) is a great book, and few people know it. It's a shame! Manber focuses on the incremental development of algorithms through theorem proving using induction.
Answer by HeretoLearn for What is the single most influential book every programmer should read?
2008-10-18 08:55

If you write code in C then Expert C Programming is an eye opener. It has answers to all the things you wondered why it works this way. Peter Van Der Linden has a great writing style and makes arcane concepts very readable. A must read for all C developers
Answer by ptr128 for What is the single most influential book every programmer should read?
2008-10-19 13:25

It should be Paulo Coelho - The Alchemist, because many programmers have low self-worth, narcissism disorders and are approval seeking. This means that they do what others tell them to do. And that they think that being programmer is worse than being a manager. Reading The Alchemist may discover them the truth: being engineer is a reason to be proud.
Answer by Jorge Diaz Tambley for What is the single most influential book every programmer should read?
2008-10-19 14:25

Mythical man month ++
Code Complete 2 ++
Answer by Mario Gleichmann for What is the single most influential book every programmer should read?
2008-10-20 07:31

You may take a look at


http://gleichmann.wordpress.com/2008/09/19/yet-another-book-recommendation-list-software-development/


I found thise books very valuable in the field of general software development.


Greetings


Mario
Answer by Jasper Bekkers for What is the single most influential book every programmer should read?
2009-07-04 02:10

Masters of doom. As far as motivation and love for your profession go: it won't get any better than what's been described in this book, truthfully inspiring story!
Answer by Nikola Stjelja for What is the single most influential book every programmer should read?
2008-10-29 22:48

The books I suggest everbody to read are:
Code complete
Radpid development
Head first software development
Web engineering
Answer by nrl for What is the single most influential book every programmer should read?
2008-11-04 14:40

Nobody seems to have mentioned Stroustup's The C++ Programming Language which is a great book that every C++ programmer should read.


I also think that Extreme Programming Explained: Embrace Change should be read by every programmer and manager. Many of the ideas in the book are common knowledge now but the book gives an intelligent and inspiring account of the pursuit of quality in software engineering.


I would second the recommendations for Knuth and Gang of Four which are classics.
Answer by Klathzazt for What is the single most influential book every programmer should read?
2008-11-10 16:07

Tao Te Ching - it transcends programming and will also help you deal with your own existence. Anyone unfamiliar with this text should find a copy and read through- as well as learn about the Tao. One easy way to learn is to read 'The Tao of poo' which walks through the main concepts of the Tao using Winnie the poo characters (not a childrens book).
Answer by Dave for What is the single most influential book every programmer should read?
2008-11-11 10:53

It's an oldie, but still worth reading:


alt text
Answer by serfmum for What is the single most influential book every programmer should read?
2008-11-12 03:56

Applying UML and Patterns by Craig Larman.


The title of the book is slightly misleading; it does deal with UML and patterns, but it covers so much more. The subtitle of the book tells you a bit more: An Introduction to Object-Oriented Analysis and Design and Iterative Development.
Answer by Kramii for What is the single most influential book every programmer should read?
2008-11-14 07:12

Graphics Programming in Windows is difficult to fault.
Answer by Nicholas Piasecki for What is the single most influential book every programmer should read?
2008-11-18 22:04

Systemantics: How Systems Work and Especially How They Fail. Get it used cheap. But you might not get the humor until you've worked on a few failed projects.


The beauty of the book is the copyright year.


Probably the most profound takeaway "law" presented in the book:


The Fundamental Failure-Mode Theorem (F.F.T.): Complex systems usually operate in failure mode.


The idea being that there are failing parts in any given piece of software that are masked by failures in other parts or by validations in other parts. See a real-world example at the Therac-25 radiation machine, whose software flaws were masked by hardware failsafes. When the hardware failsafes were removed, the software race condition that had gone undetected all those years resulted in the machine killing 3 people.
Answer by stu for What is the single most influential book every programmer should read?
2009-10-02 12:39

Advanced Programming in the UNIX Environment by W. Richard Stevens.
Answer by grigy for What is the single most influential book every programmer should read?
2008-11-22 08:10

This book


alt text


Peopleware: Productive Projects and Teams
Answer by Motlin for What is the single most influential book every programmer should read?
2009-10-22 19:52

Clean Code


Clean Code has a lot in common with Code Complete but it's more concise and practical with lots of clear examples.
Answer by CompaniaHill for What is the single most influential book every programmer should read?
2008-11-25 08:18

After K&R, I'll second that vote for Programming Pearls.


Why is the Brooklyn Bridge still standing while Galloping Gertie self-destructed in weeks? Every engineer should be fluent in the skill of making "back of the envelope" calculations and mentally keeping an eye on both the "forest and the trees" of their projects. The author Bently emphasizes their importance in every essay. Standing in line at a restaurant? Estimate your wait using the same math used in data queue analysis. How much water flows out of the mouth of the Mississippi river? Four different people use four unrelated methods to estimate an answer, all applicable to CPU processing speed calculations. And so on.


These are vital, fundamental skills that, sadly, are going the way of the slide rule.
Answer by gagneet for What is the single most influential book every programmer should read?
2008-12-02 10:00

Writing Solid Code by Steve Maguire


Code Complete by Steve McConnell
Answer by Adrian for What is the single most influential book every programmer should read?
2008-12-02 10:02

As I started out developing in Java (and am still doing so to this very day) I'd have to recommend the outstanding work in the field: Mr Bunny's Big Cup o' Java.


From the author's blurb:





There is simply no better way to learn Java than to have the pineal gland of an expert Java programmer surgically implanted in your brain. Sadly, most HMOs refuse to pay for this career saving procedure, deeming Java to be too experimental. At last there is an alternative treatment for those of us who cannot wait for sweeping health care reforms.




Mr. Bunny’s Big Cup O’ Java is recommended by n out of ten doctors, where n is any integer you wish to make up to impress an astoundingly gullible public. The book begins with an overview of the book, and quickly expands into the book itself. Just look at the topics covered:





* Java







In short, MBBCOJ will teach you all you need to know for a successful career in today’s rabbit development environments.



MBBCOJ


The insight into pixels alone would have cut years off my software developing life.
Answer by bwalerius for What is the single most influential book every programmer should read?
2008-12-02 13:19

The Soul of a New Machine


http://en.wikipedia.org/wiki/The_Soul_of_a_New_Machine


Answer by frosty for What is the single most influential book every programmer should read?
2008-12-02 14:20

Programming is a creative task, and there are a lot of great books about creative tasks in general. Here's one:


Whatever you think, think the opposite.


By Paul Arden.




This is a small book that helps you generate big ideas. Arden came from an advertising background, but he wrote for a general audience of creative individuals. If you don't think that's you, you should think some more.


Yes, there are great domain-specific books for programmers. But programmers, as creative professionals, should make more of an effort to tap into the broader world of books for "creatives."
Answer by andHapp for What is the single most influential book every programmer should read?
2009-04-25 09:08

Refactoring to Patterns by Joshua Kerievsky


alt text
Answer by leppie for What is the single most influential book every programmer should read?
2008-12-05 05:14

I am still waiting for my copy of LiSP.
Answer by Stephen for What is the single most influential book every programmer should read?
2008-12-05 16:18

Etudes for Programmers by Charles Wetherell, More Programming Pearls (Jon Bently),
Answer by Stephen for What is the single most influential book every programmer should read?
2008-12-05 16:19

Neuromancer by Gibson
Answer by mepcotterell for What is the single most influential book every programmer should read?
2008-12-06 07:26

Advanced Programming in the Unix Environment by Stevens and Rago (2005 Addison-Wesley Professional)
Answer by dario minonne for What is the single most influential book every programmer should read?
2008-12-16 04:43

Definitively Software Craftsmanship
alt text
this book explains a lot of things about software engineering, system development. It's also extremly useful to understand the difference between different kind of product developement: web VS shrinkwrap VS IBM framework. What people had in mind when they conceived waterfall model? Read this and all we'll become clear (hopefully)
Answer by Andrew Hanson for What is the single most influential book every programmer should read?
2008-12-18 08:00

For me it was Design Patterns Explained it provided an 'Oh that's how it works' moment for me in regards to design patterns and has been very useful when teaching design patterns to others.
Answer by Nick for What is the single most influential book every programmer should read?
2008-12-18 08:07



How to Win Friends & Influence People
"the grandfather of all people-skills books"


because being a great programmer requires more than just technical skillz
Answer by plaureano for What is the single most influential book every programmer should read?
2009-01-05 19:33

The Tao Te Ching. Although it's a philosophy book and not a programming book, some of it's principles are very applicable to programming:





"Know when it's time to stop. If you
don't know then stop when you are
done."



Translation: Knowing your requirements means you know when to stop. If you don't know when to stop, you need to stop because the requirements have yet to be defined.





"The harder one tries, the more
resistance one creates for oneself."



Translation: How many times have you worked on a problem for several hours, only to find the answer after taking a 15-minute break? The more you hammer at a problem, the harder it is going to be for you to solve it.





"One whose needs are simple can
fulfill them easily."



Translation: Simple requirements lead to simple designs.





"When we lose the fundamentals, we
supplant them with increasingly
inferior values which we pretend are
the true values."



Translation: Hubris is never a good substitute for good programming standards. If you get lax, no amount of design patterns will ever substitute for the lack of quality in your code.
Answer by Chris Gallucci for What is the single most influential book every programmer should read?
2009-01-13 09:50

Still a worthwhile classic is the Interface Hall of Shame. This website detailed a huge assortment of interface design faux pas that is quite entertaining. The original iarchitect.com no longer exists, but others have re-established the HOS on their own websites.
Answer by BillD for What is the single most influential book every programmer should read?
2009-01-14 13:35

Object Oriented Design Heuristics is a great read. I couldn't put it down.
Answer by Kent Beck for What is the single most influential book every programmer should read?
2009-01-14 13:46

I'll add a couple that I haven't seen here that are influential for me:



* Yourdon and Constantine, "Structured Design". Everything you need to know about software design is in here, if you're willing to dig for it a little.

* Leonard Koren, "Wabi-Sabi: for Artists, Designers, Poets & Philosophers". A pragmatic philosophy balancing beauty and pragmatism.

Answer by vatine for What is the single most influential book every programmer should read?
2009-01-16 04:23

Not a programming book, per se, but The soul of a new machine[Amazon] by Tracy Kidder. It gives a rare insight in how computers are designed, from the bus up (as it were) and the trade-offs between what's provided as machine instructions and what's left to software.
Answer by Adam Hawes for What is the single most influential book every programmer should read?
2009-10-02 11:51

The one that I read back to front was





The Art of Unix Programming by Eric S Raymond (ESR)



I started online then paid for the print version. Even if you don't program on Unix the ideas in the book are generally applicable.
Answer by swamy for What is the single most influential book every programmer should read?
2009-01-22 04:44

The Tao of Programming
Answer by Pete Kirkham for What is the single most influential book every programmer should read?
2009-01-22 14:41

Not the most influential, but worth a look is Youth by J.M.Coetzee.


The narrator of Youth, a student in the South Africa of the 1950s, has long been plotting an escape from his native country: from the stifling love of his mother, from a father whose failures haunt him, and from what he is sure is impending revolution. Studying mathematics, reading poetry, saving money, he tries to ensure that when he arrives in the real world, wherever that may be, he will be prepared to experience life to its full intensity, and transform it into art. Arriving at last in London, however, he finds neither poetry nor romance. Instead he succumbs to the monotony of life as a computer programmer, from which random, loveless affairs offer no relief. Devoid of inspiration, he stops writing. An awkward colonial, a constitutional outsider, he begins a dark pilgrimage in which he is continually tested and continually found wanting.


youth cover
Answer by rick schott for What is the single most influential book every programmer should read?
2009-01-29 08:28

Hands down Head First Design Patterns!


It not only teaches you about design patterns, but also gives you real world problems they solve. Most notable, it walks you through the wrong ways to solve the problems, and the common mistakes, which I think is most beneficial.
Answer by Mr Grieves for What is the single most influential book every programmer should read?
2009-02-12 08:17

Dilbert's Guide To The Rest Of Your Life: Dispatches from Cubicleland


alt text


This is more truth than you'd think.
Answer by Ether for What is the single most influential book every programmer should read?
2009-08-23 20:02

How to Win Friends and Influence People by Dale Carnegie.


It taught me that in order to persuade people of your ideas, or lead them away from bad practices, you can never tell them that they are wrong. To do so will only entrench them further in their own ideas.


Answer by Edison Gustavo Muenz for What is the single most influential book every programmer should read?
2009-02-13 05:15

alt text


Not the most important, but a very fundamental one
Answer by emirc for What is the single most influential book every programmer should read?
2009-02-16 16:15

Well, if I had to choose a single book it is definitely "Code Complete".
To take the "righteous path" as a programmer - "Pragmatic Programmer" is also great.


A book that was an "eye-opener" for me, although I didn't expect it from such a book, is "The C++ Programming Language" by Bjarne Stroustrup.


And, finally, I would mention two Fowler's "classics" - "Patterns of Enterprise Architecture" and "Refactoring".
Answer by Sameer for What is the single most influential book every programmer should read?
2009-02-18 10:32

How to Solve It: A new aspect of mathematical method
Although not directly related to computer programming but it does teach you the art of problem solving and that's what computer programming is all about.
Answer by Tommy for What is the single most influential book every programmer should read?
2009-02-23 01:04

Structure and Interpretation of Compunter Programs(SICP) of course. Such a good book.


And the book Functional Programming Using Standard ML, Prentice-Hall, 1987 by Åke Wikström.
Åke's book taught me the importance to abstract, that the human brain can only handle like 4-6 concepts at the same time. Abstraction makes it possible to generalize and therefore handle more concepts at the same time.
Answer by Peter Girard for What is the single most influential book every programmer should read?
2009-03-02 14:23

I saw a review of Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools on a blog talking also about XI-Factory, I read it and I must say this book is a must read. Altough not specifically targetted to programmers, it explains very clearly what is happening in the programming world right now with Model-Driven Architecture and so on..
Answer by egyamado for What is the single most influential book every programmer should read?
2009-10-02 12:56

Beginning C# 3.0: An Introduction to Object Oriented Programming


This is the book for those who want to understand the whys and hows of OOP using C# 3.0. You don't want to miss it.
Answer by kakimoto for What is the single most influential book every programmer should read?
2009-03-12 11:31

I'm reading now Agile Software Development, Principles, Patterns and Practices. For those interested in XP and Object-Oriented Design, this is a classic reading.


Answer by Charlie Flowers for What is the single most influential book every programmer should read?
2009-03-19 19:45

Here's an excellent book that is not as widely applauded, but is full of deep insight: Agile Software Development: The Cooperative Game, by Alistair Cockburn.


What's so special about it? Well, clearly everyone has heard the term "Agile", and it seems most are believers these days. Whether you believe or not, though, there are some deep principles behind why the Agile movement exists. This book uncovers and articulates these principles in a precise, scientific way. Some of the principles are (btw, these are my words, not Alistair's):



1. The hardest thing about team software development is getting everyone's brains to have the same understanding. We are building huge, elaborate, complex systems which are invisible in the tangible world. The better you are at getting more peoples' brains to share deeper understanding, the more effective your team will be at software development. This is the underlying reason that pair programming makes sense. Most people dismiss it (and I did too initially), but with this principle in mind I highly recommend that you give it another shot. You wind up with TWO people who deeply understand the subsystem you just built ... there aren't many other ways to get such a deep information transfer so quickly. It is like a Vulcan mind meld.

2. You don't always need words to communicate deep understanding quickly. And a corollary: too many words, and you exceed the listener/reader's capacity, meaning the understanding transfer you're attempting does not happen. Consider that children learn how to speak language by being "immersed" and "absorbing". Not just language either ... he gives the example of some kids playing with trains on the floor. Along comes another kid who has never even SEEN a train before ... but by watching the other kids, he picks up the gist of the game and plays right along. This happens all the time between humans. This along with the corollary about too many words helps you see how misguided it was in the old "waterfall" days to try to write 700 page detailed requirements specifications.



There is so much more in there too. I'll shut up now, but I HIGHLY recommend this book!
Answer by Ralph Shillington for What is the single most influential book every programmer should read?
2009-03-26 10:44

Difficult to get your hands on it now, but Software Tools by Brian W. Kernighan and P.J. Plauger, is always time well spent.
Answer by Stefano Borini for What is the single most influential book every programmer should read?
2009-03-26 10:55

I would not read a book. I would read someone else's code, then find a proper simple book for that language. That's what I did at the beginning of my passion. In my case, I dug into Commodore 64 BASIC code from journals (at that time, source was shared on dead-tree support, and it was up to you to type it). I then received a BASIC book as a gift (I was a child back then) and started tinkering, but this after I mindlessly typed in all the code, and checked what it did.


I did the same when I learned C. I first started with source code from a chat server, and then bought C for dummies (yep, fast and dirty, but I went somewhere). From there, I continued tinkering and at the same time getting additional knowledge from books.
Answer by asifch for What is the single most influential book every programmer should read?
2009-04-03 01:15

I think the Best Software Writings will also be a really good read.
Answer by binil for What is the single most influential book every programmer should read?
2009-04-03 06:27

The Elements Of Computing Systems


This book walks the reader through the process of building a computer system given NAND gates and flip flops. It gives a good introduction to the "big picture".


The Elements Of Computing Systems
Answer by Ron Romero for What is the single most influential book every programmer should read?
2009-04-25 10:00

I'm sorry, I have to reject the question. If I could go back and tell myself which one book to read, I wouldn't. I would tell myself to constantly keep up with the latest trends in books and to read voraciously. All the books in the section are great books, but reading just one wouldn't help you.


Or, alternatively, the best book to read is the Internet. Then go from there and read books people recommend.
Answer by Oakcool for What is the single most influential book every programmer should read?
2009-10-02 12:53

The Art of War by Sun Tzu.
Answer by Jon Harrop for What is the single most influential book every programmer should read?
2009-05-05 05:13

OCaml for Scientists
Answer by Chandrasekhar for What is the single most influential book every programmer should read?
2009-05-11 07:36

"Introduction to Functional Programming", Philip Bird and Richard Wadler. (First Edition)


I am still reading this book. I am liking it very much.
Answer by nojevive for What is the single most influential book every programmer should read?
2009-05-22 15:04

I have found that the first edition of The C++ programming language had a big influence on my programming. I also own the second and third version. There are other C++ books I really liked, such as The Design and Evolution of C++.
Answer by Curt Sampson for What is the single most influential book every programmer should read?
2009-05-23 01:39

Concepts, Techniques and Models of Computer Programming
Answer by Jherico for What is the single most influential book every programmer should read?
2009-05-26 16:33

Algorithms in C++ was invaluable to me in learning Big O notation and the ins and outs of the various sort algorithms. This was published before Sedgewick decided he could make more money by dividing it into 5 different books.


C++ FAQs is an amazing book that really shows you what you should and shouldn't be doing in C++. The backward compatibility of C++ leaves a lot of landmines about and this book helps one carefully avoid them while at the same time being a good introduction into OO design and intent.
Answer by mike for What is the single most influential book every programmer should read?
2009-10-02 12:51

Kernighan & Plauger's Elements of Programming Style.
It illustrates the difference between gimmicky-clever and elegant-clever.
Answer by Phaedrus for What is the single most influential book every programmer should read?
2009-06-06 18:45

Solid Code Optimizing the Software Development Life Cycle


Although the book is only 300 pages and favors Microsoft technologies it still offers some good language agnostic tidbits.
Answer by tr9sh for What is the single most influential book every programmer should read?
2009-06-07 10:38

One of my personal favorites is Hacker's Delight, because it was as much fun to read as it was educational.


I hope the second edition will be released soon!
Answer by Dustin Stevens-Baier for What is the single most influential book every programmer should read?
2009-06-07 16:29

For me it was Code Craft.
Answer by Sylvain for What is the single most influential book every programmer should read?
2009-06-09 13:05

I read most of the books having an high score on this question - but not all of them (thanks God !) and I added the others one to my Amazon Wish List right away !


(Someone should create a list on Amazon for these books... Maybe a list named : "Stackoverflow best books ever" ? Anyone know how to do that ?)


To me, the best book ever has been Code Complete. It was a revelation. I bought the 2nd edition in english and then in French and I still think it should be a mandatory reading in any computer science school. Data structure is cool but Code complete, no joke, is much more important...


Then, my second best book was Writing Solid Code - having learn how to be understood, it was great to know how to write solid code.


Then a lot of very nice books but no one to mention here. Until 2001, I think : Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries. A jewel ! I read this book many times and it's still on my desk, just beside my LCD, along with Code Complete (really !). I Love the way it has been written (love the comment that has been added here and there - books should all be written like that !)


But well, I forget the very first great books I've read ! The ones who make me love computer science, with passion :



* Compute! (C64 magazine - Will never forget Jim Butterfly :o)

* Borland C++ User Guides (the old ones, circa 1991, those who tried to introduce object oriented programming, very nicely written).

* Most Microsoft Developpement Tools User Guides, circa 1990-1995. Don't know who were writing them, but they was pretty cool ! I remember reading them late in the night, on saturdays...



Well, excellent question :o)
Answer by Jesus Rodriguez for What is the single most influential book every programmer should read?
2009-10-02 11:48

I'm with many others. The C Programming Language (K&R) is probably one of the most influential book of programming :)
Answer by amit.dev for What is the single most influential book every programmer should read?
2009-06-28 10:55

Concepts, Techniques, and Models of Computer Programming.


alt text
Answer by Tobias Svensson for What is the single most influential book every programmer should read?
2009-06-28 11:01

alt text


Christopher Alexander - The Timeless Way of Building
Answer by Bo Tian for What is the single most influential book every programmer should read?
2009-10-02 11:47

Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt.


Answer by Dean Povey for What is the single most influential book every programmer should read?
2009-10-02 11:46

Clean Code by Robert Martin.


This book completely changed the way I wrote code (for the better). The first couple of chapters are the best.
Answer by Roubachof for What is the single most influential book every programmer should read?
2009-10-02 11:45

All the Thinking in... books.


Bruce Eckel is THE genious of pedagogy!
It's so easy to understand the implementation of polymorphism in C++. It contains all that you should known about C++, basic and advanced concepts. Way better than the Stroustrup's.
I learnt Java with him too.


And last but not the least:


The C++ one is free !


http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Answer by Shane for What is the single most influential book every programmer should read?
2009-10-02 11:45

I know this is a graphics book, but I am a graphics programmer and have been my whole career. Plus it's written in 'C' :)


It's as fundamental to me as the original K&R C Programming Language book.


Computer Graphics: Principles and Practice in C (2nd Edition)
alt text
Answer by Nate for What is the single most influential book every programmer should read?
2009-10-02 11:44

I'm amazed that no one has suggested The Story About Ping yet.


If this text is displayed then the link to the image may be broken - apologies to Lynx users.
Answer by TahoeWolverine for What is the single most influential book every programmer should read?
2009-07-22 18:24

alt text


This last year I took a number of classes. I read


The Innovator's Dilemma (disruptive tech)

The Mythical Man Month (managing software)

Crossing the Chasm (startup)

Database Management Systems, The COW Book

Programming C#, The OSTRICH Book

Beginning iPhone Developmen, The GRAPEFRUIT Book


Each book was amazing but the Innovator's Dilemma by Clayton Christensen (1997!!!) is really a fantastic book, and it got me really thinking about the modern software world. The challenge addressed is disruptive technology, and how disk drive companies and non-technical companies are always disrupted by new, game changing technology. It gives one a new perspective when thinking about Google, probably the biggest 'web' company. Why do they have their hands in EVERYTHING? It's because they don't want to have their position disrupted by something new. The preview on google is plenty to get the idea. Read it!
Answer by Ariel for What is the single most influential book every programmer should read?
2009-07-22 18:30

Adding to the great ones mentioned above:


Patterns of Enterprise Application Architecture


Enterprise Integration Patterns
Answer by pablo for What is the single most influential book every programmer should read?
2009-07-24 02:43

Don't know if anyone mentioned it but I would recommend the book from Uncle Bob Martin.
Answer by Kb for What is the single most influential book every programmer should read?
2009-10-02 11:42

I enjoyed Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series).


alt text
Answer by Christy John for What is the single most influential book every programmer should read?
2009-07-30 10:29

First read the best books regarding your language of choice and then regarding you OS of choice.


Then once you get the grasp of the language, please go through these language agnostic books.
1) Code Complete - Steve McConnell
http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670


2)Design Patterns: Elements of Reusable Object-Oriented Software - Erich Gamma
Erich Gamma , Richard Helm, Ralph Johnson, John M. Vlissides
http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=sr_1_1?ie=UTF8&qid=1248974754&sr=8-1


3)The Pragmatic Programmer - Andrew Hunt and Dave Thomas
http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8&qid=1248974843&sr=8-1


4)Refactoring: Improving the Design of Existing Code - Martin Fowler, Kent Beck, John Brant, and William Opdyke
http://www.amazon.com/Refactoring-Improving-Existing-Addison-Wesley-Technology/dp/0201485672/ref=sr_1_1?ie=UTF8&qid=1248974905&sr=8-1
Answer by Chloe for What is the single most influential book every programmer should read?
2009-08-03 03:43

Rich Dad Poor Dad, to realize that programming is just another job, and one that can be outsourced at that, and to focus on "minding my own business" instead rather than trading dollars for hours.
Answer by tr3 for What is the single most influential book every programmer should read?
2009-10-02 11:40

I don't know if it were already suggested but:


alt text
Answer by scim for What is the single most influential book every programmer should read?
2009-08-05 17:20

Since I'm a C# programmer and most generic books already has been mentioned I'd like to recommend Bill Wagner's book "More Effective C#.


I think most people that develop composite WPF-applications also should have a look at Microsoft's Composite Application Guidance (also known as Prism):


Composite Application Guidance
Answer by arsane for What is the single most influential book every programmer should read?
2009-08-06 07:27

This book really set up a fundermental view that a programmer need to know about computer.


alt text
Answer by Ryan Fernandes for What is the single most influential book every programmer should read?
2009-08-18 03:20

Perfect Software: And Other Illusions about Testing


TITLE Cover


Perfect Software: And Other Illusions about Testing by Gerald M. Weinberg


ISBN-10: 0932633692


ISBN-13: 978-0932633699
Answer by lapinferoce for What is the single most influential book every programmer should read?
2009-10-02 11:39

The C Programming Language by Brian Kernighan and Dennis Ritchie. It is sometimes referred to as K&R, or the white bible, or K&R2 for the second edition.
Answer by Dave Nichol for What is the single most influential book every programmer should read?
2009-08-20 13:55

How influential a book is often depends on the reader and where they were in their career when they read the book. I have to give a shout-out to Head First Design Patterns. Great book and the very creative way it's written should be used as an example for other tech book writers. I.e. it's written in order to facilitate learning and internalizing the concepts.


Head First Design Patterns
Answer by Nick for What is the single most influential book every programmer should read?
2009-10-02 11:36

Got to go with Sun Tzu's The Art of War.
Answer by ClaudioA for What is the single most influential book every programmer should read?
2009-10-02 11:34

Smalltalk-80: The Language and its Implementation AKA the "Blue book":


alt text
Answer by Chris Dwyer for What is the single most influential book every programmer should read?
2009-08-28 12:42

alt text
Answer by TrueWill for What is the single most influential book every programmer should read?
2009-09-17 20:34

Extreme Programming Explained: Embrace Change by Kent Beck. While I don't advocate a hardcore XP-or-the-highway take on software development, I wish I had been introduced to the principles in this book much earlier in my career. Unit testing, refactoring, simplicity, continuous integration, cost/time/quality/scope - these changed the way I looked at development. Before Agile, it was all about the debugger and fear of change requests. After Agile, those demons did not loom as large.
Answer by RD1 for What is the single most influential book every programmer should read?
2009-09-18 06:24

The Practice of Programming


The practice of programming. By Brian W. Kernighan, Rob Pike.


The style shown here is excellent - the code just speaks for itself, and the whole book follows the KISS principle. Personally not my languages of choice, but still influential to me.
Answer by Jahanzeb Farooq for What is the single most influential book every programmer should read?
2009-09-22 07:03

Coders at Work by Peter Seibel. A very influential book to learn from the experience of some of the top names in the field, how they think and work.



alt text
Answer by Ranieri for What is the single most influential book every programmer should read?
2009-09-30 11:19

Personally, I like the handwritten notes by Edsger W. Dijkstra. A lot.
Answer by Jason Rowe for What is the single most influential book every programmer should read?
2009-10-02 10:12

The Annotated Turing was enlightening. It defines the box programmers work in.
alt text
Answer by Chris Cleeland for What is the single most influential book every programmer should read?
2009-10-02 10:23

Though I agree with The Pragmatic Programmer, I would also recommend The Practice of Programming. It came out around the same time and never gained the level of notoriety as the Pragmatic series, but TPoP is a great book and, most importantly, not a massive undertaking to read. Thus, the reader gets a lot of return for his/her time investment in reading/ingesting it.
Answer by jsshah for What is the single most influential book every programmer should read?
2009-11-09 10:28

Apart from all the great books already recommended, there is one more book I would like to recommend.


This may be relatively unknown, however I use it every so often.


The book teaches computer architecture and how C code gets compiled to assembly code. It has great sections about the program stack, talks about low level operating system constructs and about various parts of the architecture from a programmer's perspective.


It has a great section on memory allocation and garbage collection. It also discusses network programming, profiling and much more.


One of my favorite books.


alt text
Answer by Chris S for What is the single most influential book every programmer should read?
2009-10-07 15:08

For Project Managers
Answer by Arthur Ulfeldt for What is the single most influential book every programmer should read?
2009-10-09 13:32

The Productive programmer. its a natural extension of "the pragmatic programer" which gets a little more into the every day details.


alt text
Answer by Taylor L for What is the single most influential book every programmer should read?
2009-10-10 21:16

Various insights into software engineering in the real world.


alt textalt text
Answer by dasu for What is the single most influential book every programmer should read?
2009-10-10 21:30

Dijkstra's A Discipline of Programming is a true classic. It will change the readers' way of reasoning about programs - it certainly has changed mine.


An easier read would be Gries' Science of Programming - it is along the same lines, but easier to read.


As an aside, I must mention that we are still struggling to come up with a scheme that these books propose for concurrent programs.
Answer by mlk for What is the single most influential book every programmer should read?
2009-10-22 02:14




If you could go back in time and tell yourself to read a specific book at the beginning of your career as a developer, which book would it be?



JUnit in Action


Unit testing is one thing that I really wished I knew at the start of my programming career rather than the middle of it.


As to the general "what good books have you read" offshoot of this thread:


Mastering the Requirements Process


Writing requirements is one area where I suck, this book helped a lot.


Now off to order a book to two from Amazon... ;)
Answer by cloggins for What is the single most influential book every programmer should read?
2009-10-22 04:00

It seems most people have already touched on the some very good books. One which really helped me out was Effective C#: 50 Ways to Improve your C#. I'd be remiss if I didn't mention The Tao of Pooh. Philosophy books can be good for the soul, and the code.
Answer by TheRHCP for What is the single most influential book every programmer should read?
2009-10-26 13:29

My career as a developper is starting, so I cannot directly answer the question.
But as .NET developper, the book that helped me the most in framework and reusable libraries design is "Framework Design Guidelines" by Brad Abrams. The book solves a lot of issue you can encounter when you are thinking about naming and crucial design choices. This is the best way to produce high reusable assemblies in .NET.


alt text


I am pretty surprised that nobody mentioned that book. What is sure is that it has been really influential on my design and naming habits when writing reusable assemblies.


One thing I really appreciate in this book is the notes of .NET Framework developers giving details on issues they had when designing the .NET Framework, which I think are good advices as it is representative of a well designed framework.
Answer by FinnNk for What is the single most influential book every programmer should read?
2009-10-31 15:43

It's a brand new book and I've only just skimmed it but Growing Object-Oriented Software, Guided by Tests right now is THE book on TDD. It really concentrates on the "design" part of software development and how it is closely related to how you develop code writing tests first. I've enjoyed other books on TDD and unit testing but this takes it to a higher level, I'm pretty sure this one is destined to be a classic.
Answer by Steven Bose for What is the single most influential book every programmer should read?
2009-11-08 00:26

"The Practice of programming" by Brian W.Kerninghan & Rob Pike.


The language is easy and also the subject matter is interesting.
Answer by pajato0 for What is the single most influential book every programmer should read?
2009-11-08 00:48

I'm late to this question but apparently still have something unique to offer... Software Engineering Economics by Barry Boehm which, to summarize, says that if you want to really improve software productivity get better people since better tools, hardware, languages, methods, etc. will all have a marginal impact. Only better people drive up productivity by significant amounts. I emphasize, this is better engineers, not more engineers!


Not the kind of book you'd take to bed with you, like you might do with Coders At Work but the kind of book that drives home a lesson that our industry has struggled mightily to take to heart. Witness off-shoring, a false economy that Boehm's model predicts will have only a marginal positive effect, if any at all. Check it out.
Answer by doc for What is the single most influential book every programmer should read?
2009-11-08 17:05

Niklaus Wirth "Algorithms + Data Structures = Programs"


alt text
Answer by Dimitri C. for What is the single most influential book every programmer should read?
2009-11-12 02:54

Getting Things Done (GTD) teaches you how to deal with the thousands of small tasks you need to accomplish in your day-to-day job as a software developer. Although it is not specifically geared towards developers, it is definitely an invaluable aid, as software development typically involves a very lare number of small tasks that need to be done in a prioritized fashion. For example: implementing new features, fixing bugs, refactoring parts of the code, testing or retesting code, etc...
Answer by Tom Bartel for What is the single most influential book every programmer should read?
2009-11-19 08:33

It has been suggested in response to another "Greatest books" question, but not here:


Guns, Germs, and Steel - The Fates of Human Societies by Jared Diamond


Guns, Germs, and Steel


Highly interesting read which powerfully increases one's understanding of the different developments of human societies. Asks questions such as "Why did the Spanish sail to South America and conquer the Inkas, and not the other way round?" that tickle one's curiosity. I think every programmer should read this book because I think every person should.
Answer by Dustin E for What is the single most influential book every programmer should read?
2009-11-20 19:14

I am personally quite fond of Head First: Object Oriented Design and Analysis.


http://oreilly.com/catalog/9780596008673


I also liked the Pragmatic Programmer, but it's already at the top of the list.
Answer by Upper Stage for What is the single most influential book every programmer should read?
2009-11-23 10:08

Essential reading for any mentor/team leader/manager or anyone who reports to the aforementioned.


alt text
Answer by Pace for What is the single most influential book every programmer should read?
2009-11-25 02:23

alt text


Excellent book on getting up to speed with JavaScript, highly reccommend.


JavaScript - The Good Parts
Answer by Igor Oks for What is the single most influential book every programmer should read?
2009-11-30 14:26

Dictionary of the Khazars by Milorad Pavich


It's a hypertext book; it comes in two versions - a male version and a female version; and it is excellent.


Dictionary of the Khazars
Answer by priyabrata-hota for What is the single most influential book every programmer should read?
2009-12-03 09:34

It is is just one book then I would suggest "Practices of an Agile Developer"
Answer by tommieb75 for What is the single most influential book every programmer should read?
2009-12-03 09:49

What happened to 'Expert C Programming - Deep C Secrets' by Peter Van Der Linden - a classical and enjoyable read. Should have read that immediately after learning C years ago but got it about after 3 years into learning C! A recommended book which answers the most common SO questions on pointers (a favourite subject of mine). Live it, eat it, breathe it! 10/10!
Answer by Rex for What is the single most influential book every programmer should read?
2009-12-07 07:31

Looks like we have the same taste in books. I have to admit that I really enjoyed some of the books listed above. Another book that I found outstanding this year due to its fresh and unique approach was 'is: The Phenomenon of the Facebook Status' by Patrick Hamilton Walsh. Did you read this one during the year? I think it will be huge in 2010. Its a book that... never mind it is Monday morning, so here is the review that sold it to me:


Patrick Hamilton Walsh shows remarkable ingenuity with this unique concept designed to offer an insight into life in today's world via the medium of social networking sites.
'Is' presents an insight into everyday life in the 21st century through the compilation of Facebook status updates, highlighting the joys and pressures of today's world with its 'warts and all' collection of laugh-out-loud, witty, poignant, crude and downright rude updates.


Each individual status update listed within 'is' allows the watching world to look into the updating person's soul as they share their thoughts and feelings of the day in a manner that has never before existed, giving a glance of what the person is made of, if not the image they are attempting to portray!


Taken as a whole, this compilation helps to unmask the population of Western society who, as individuals, are becoming more willing to share their thoughts with the world.


These individuals take full advantage of the opportunity afforded to them by the fact they can hide behind their computer screens and share thoughts they probably would never dare to on a face-to-face basis!


I got it for £5.49 on Amazon so its a bargain as well. Its also good for 'borrowing' good Facebook updates ;-)


Check it out and thank me later.


http://www.amazon.com/Phenomenon-Facebook-Patrick-Hamilton-Walsh/dp/1604942290/ref=cm%5Fcr%5Fpr%5Fproduct%5Ftop


Good work people, I look forward to reading more of your stuff in 2010. Happy Christmas everyone.
Answer by Nathan Stewart for What is the single most influential book every programmer should read?
2009-12-07 09:30

Another vote for "Pragmatic Thinking and Learning: Refactor Your Wetware" by Andy Hunt. Its one of the best books I've read on ANY subject, as measured in forehead slaps per inch of binding. Really helped me to get a better handle on my career, getting stuck on problems, and got me started down the process that led me to "Delivered from Distraction" (Hallowell & Ratey - which almost got my vote, except it doesn't even pretend to be related to programming, and it's theoretically possible that some programmers may not have some form of ADHD.)

No comments: