Books that made you a better programmer
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
I am not going to answer your question, but to comment your list, I find 1. absolutelly great, 2. and 4. mostly harmful, and 3. has good and bad points.
-
I am not going to answer your question, but to comment your list, I find 1. absolutelly great, 2. and 4. mostly harmful, and 3. has good and bad points.
Nemanja Trifunovic wrote:
2. and 4. mostly harmful,
I could not disagree more. In general, I have found a great difference between programmers who have read those books and those who have not read the books. Now partially reading without understanding the principles may be harmful. For example, refactoring without unit tests (an absolute no no in the book) for example may be harmful. Similarly, applying patterns religiously out of context is also harmful. But it should be a must read in my opinion. Also, the books does have different impact on different stages of the career too.
Proud to be a CPHog user
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
It's sad, but I have not bought any books in a long time specifically for programming. Everything one needs can be found on usenet, google search and msdn. Books that saved my arse are a different matter; Tom Shinders ISA Server books have allowed me to do my job anywhere, and it's hard to put a value on that; and DNS and Bind;
MrPlankton
(bad guy)"Fear is a hammer, and when the people are beaten finally to the conviction that their existence hangs by a frayed thread, they will be led where they need to go."
(good guy)"Which is where?"
(bad guy)"To a responsible future in a properly managed world."
Dean Koontz, The Good Guy -
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
I'd like to add the original Kernighan and Ritchie text on C. It may not be the greatest book of all time, but it was there when I needed it and it never let me down. "ATL Internals" was a good one too, although it's pretty much deprecated now. But it certainly had a *ton* of useful information in it, and really helped improve the quality of my COM/DCOM projects. And finally, "The Inmates are Running the Asylum". An excellent book that everyone involved in software development should read - from managers to interns.
The StartPage Randomizer | The Windows Cheerleader | Twitter
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
OpenGL Redbook Physics for Game Programming AI Game Programming Graphics Gems I-VI :) what can I say, I specialized a loooong time ago. :)
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
Oddly enough, the book Vital Dust[^] was very influential in changing my programming style. Much more so than any technical/programming book I've ever read. Marc
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
Everything by Douglas Adams, Michael Crichton, ...
Rama Krishna Vavilala wrote:
"Design Patterns" - GOF
Really only helps to discuss programming issues.
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
The Moon Is A Harsh Mistress by Robert Heinlein. I want to meet Mike; what can I say?
Software Zen:
delete this;
Fold With Us![^] -
The Moon Is A Harsh Mistress by Robert Heinlein. I want to meet Mike; what can I say?
Software Zen:
delete this;
Fold With Us![^]Yeah I would like to meet mike too. Though my book purchases seem to lag what the heck I am working on so I buy them but never get a chance to read them!
-
Everything by Douglas Adams, Michael Crichton, ...
Rama Krishna Vavilala wrote:
"Design Patterns" - GOF
Really only helps to discuss programming issues.
Amen
He who asks a question is a fool for five minutes. He who does not ask a question remains a fool forever. [Chineese Proverb] Jonathan C Dickinson (C# Software Engineer)
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
I have a few gripes with GOF. OOP isn't the only paradigm available (just look at Erlang success: it's a freaken actor pattern!!!), you then have AOP which is improving the quality and maintainability at the same rate the GOF did when they published their OOP patterns. GOF is really useful, unfortunately some people see it as gospel. One of my old lecturers (I have since transferred universities) recently wrote a book on C# 3.0 design patterns and included an observer pattern implementation, cough, events. A decent T-SQL book is a must (Professional SQL Server 2000 Programming - Rob Vieira), as well as a subscription to MSDN magazine. Blogs such as Hanselman's are a vital source of information. I have a few books, but I have found that most of them are somewhat obsolete, the nice thing about the internet is that it keeps itself up to date.
He who asks a question is a fool for five minutes. He who does not ask a question remains a fool forever. [Chineese Proverb] Jonathan C Dickinson (C# Software Engineer)
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
I belive that any list has to include Donald Knuth and the Art of Programming. In my time it was a standard and it definitely set the standards for many things that came later. Today you might read it like a history book but it explains most of the things that we take for granted now but in the olde days we had to figure out.
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
"Code Complete", Steve McConnell -- (almost) everything there is to know about programming, from the little code monkey all the way up to lofty architects "Programming Pearls", Jon Bentley -- too keep the fun in programming and thinking outside the box "Software Craftsmanship", Pete McBreen -- an alternative approach to teams "The Pragmatic Programmer", Andrew Hunt & David Thomas -- Stop fidgeting, get it done. "Facts and Fallacies of Software Engineering", Robert L. Glass -- When to walk and when to fight (richly spiced with humour:-) In no special order, even if Code Complete stands out as I run into it quite early. /Jonas
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
-
Everything by Douglas Adams, Michael Crichton, ...
Rama Krishna Vavilala wrote:
"Design Patterns" - GOF
Really only helps to discuss programming issues.
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
Not a book, but an article of sorts and its not humurous also this is serious stuff :) http://wilk4.com/humor/humore6.htm[^]
ACA
-
I know there are many people here who scorn technical books. But I like reading technical books and have always found them useful. I was looking back to see what books had maximum impact in making me a better programmer in my career. I am not just talking about the technology here sure there are many good books about technologies. I am talking about the whole outlook on programming, programming styles and approach. My list is as follows: 1. "The C++ Programming language" - Bjarne Stroustrup. The last part especially had very good insights. I can definitely say that reading that book made me a lot better. 2. "Design Patterns" - GOF. Luckily, I read it (C2C) before shifting jobs and the new job required an application design from scratch. I was able to apply many patterns judiciously and I am still working on the product today. 3. "Code Complete" - Steve McConnell. It should be a required reading everywhere. 4. Refactoring - Martin Fowler. Helped me decide what is refactoring and what not. I overcame many of my pre-dispositions about performance and stressed on code readability. I have read lot of other books, I could clearly see that these books made a great impact on me. So if you have to list books which had the maximum impact on you. What will they be? [Edit] Added Refactoring book.
Proud to be a CPHog user
I went through "Design Patterns" and the whole OO thing about 8-9 years ago. I then started learning about something that really changed the way I developed - functional programming. The papers Why Functional Programming Matters[^] and Haskell vs. Ada vs. C++ vs. Awk vs. ...: An Experiment in Software Prototyping Productivity[^] piqued my curiosity about FP in general and Haskell in particular. I pretty soon realised that some of the ideas of FP could be applied to the C++ I was writing - mainly the ideas of data immutability and functions as first-class members of the data type system (using Boost[^]'s Function[^] and Bind[^] libraries) - and found that using them made design and code easier and more capable. Do I use patterns? Yes, in places. But application of FP ideas has influence throughout my design and code.
-
"Code Complete", Steve McConnell -- (almost) everything there is to know about programming, from the little code monkey all the way up to lofty architects "Programming Pearls", Jon Bentley -- too keep the fun in programming and thinking outside the box "Software Craftsmanship", Pete McBreen -- an alternative approach to teams "The Pragmatic Programmer", Andrew Hunt & David Thomas -- Stop fidgeting, get it done. "Facts and Fallacies of Software Engineering", Robert L. Glass -- When to walk and when to fight (richly spiced with humour:-) In no special order, even if Code Complete stands out as I run into it quite early. /Jonas
In the original list the only obvious omission for me was "Code Complete". Weighty but well worth the effort. Good to see someone else has added it! I will add the classic "Object-oriented Software Construction" by Betrand Meyer. It may describe a language that most of us will never use, and take lots of ill informed swipes at C/C++/Java but for understanding what OO really means and design by contract can do it is marvellous.