the item

Code Complete
Code Complete
2004

the questions

  1. How to learn to program
  2. How to be a better programmer
  3. How to program: imperative programming

more about the



the consensus

The best book on learning to be a better programmer. Read it.



recent reviews

  1. Zen and the Art of Motorcylce Maintenance
  2. The Sparrow
  3. SEOMoz
  4. Mythical Man-Month
  5. Code Complete
  6. Pragmatic Programmer: From Journeyman to Master
  7. This Perfect Day


join our mailing list


if you liked
'Code Complete'
you also might like



Your Ad Here



comment on
'Code Complete'




book ideas? feature requests?
other information not related to 'Code Complete'?




continue the research

















all external links are affiliate links. bit.ly is used to provide real-time tracking

the review

I do not own this book, yet I am about to tell you how great it is and how you should read it.

But that's not my biggest problem. My biggest problem is trying to figure out how to write a balanced review of one of my favorite programming books.

The reason I do not own this book? Because a couple of years ago, after teaching one of my teams how to program in .NET, I gave them my last copy, feeling at the time like I was giving up something I didn't want to part with. It's the book that changed how I look at programming forever.

Sounds a bit over-the-top, huh? Well get used to it, because the superlatives come cheap and easy with this book. For instance, I remember very clearly when I read this book the first time (I've read it twice so far). The reason why is that my coding style completely changed afterwards. There's my coding career before CC, and my coding career after CC. That's how sharply I view the difference. Even the way I thought about constructing and debugging software changed profoundly.

Trying to make sure I still remembered all of it, I tooled over to Amazon to see what the other reviewers said.

Those guys were just as over-the-top as I am.

This book is among the most recommended books in every book list I crossed. So, one year ago I bought it, and it was one of the most useful books I've ever read..if you are a programmer, you must read this book!

The definitive book on software construction, a "must have", "The Holy Grail of Programming References", "Improves with age", "As good as everyone says it is", "Invaluable, Well-Presented Information", "Required Reading"

One of the things I've learned reading a lot of really cool technical books is just how much folks get attached to their favorite books, each book and tool I've reviewed here has had legions of fans saying how awesome it was.

Code Complete is no different, so you have to filter out a lot of the praise and such you get from such books as "typical" reviews. hn-books is all about reviewing great books. You won't find any crappy ones on this site.

But having said that, Code Complete still stands apart. Since CC was written, there have been many other books in the same line: "Clean Code" comes to mind right off the bat. Or the Pragmatic Programmer series. But as good as some of those are, they're no Code Complete. It's the book that set the standard.

Based on his real-world experiences at Microsoft and other large companies, Steve McConnell takes the reader on a journey in code. He picks out specific examples of poor programming styles, easy mistakes, and hard-to-find bugs and then shows how the bug was discovered and what needs to be done to keep it from happening in the future. His great use of metaphor and wonderful narrative style make this both an easy and deep read.

McConnell has won a bunch of awards in the industry. Code Complete has picked up a bunch too, including the Jolt Excellence Award. Steve has been named one of the most influential people in the software industry, and he's nailed the Software Development Productivity Award, among many other accolades.

If I remember correctly, a lot of the examples were in Pascal (the second edition is in Java and C++), not that it matters. If you know a programming language, you'll know enough to grok the points Steve makes and how they apply to what you're doing. I haven't read the latest version of the book (the second edition was released in 2010), but from what I hear it just keeps getting better.

Code Complete is the book you need to read as soon as you learn the mechanics of programming. It helps you understand how to stop being a code monkey and start being a code craftsman. Personally I would make it a required part of any computer science or programming course, and whenever I teach programmers coding ] I always make sure they are aware that it's out there.

But because it not only an engaging book but also has depth, it works very well for programmers of all skill levels. For us senior guys, it makes for a great refresher on what bad habits we might have picked up over the years. Some of these books you can put off for a while: for instance, I loved Mythical Man-Month but I went twenty years without reading it. And I lived. CC is not one of those. CC is a book that the sooner you read it the sooner you start writing better code, so it deserves a higher place on your stack.

I think what I liked so much about Code Complete was the idea that as both a manager (sombody who had to help programmers), and a programmer himself, Steve could not only talk about how the art of programming was practiced by the individual, but how those individual decisions affected all those around him.

As I've grown, my opinions about the larger parts of sofware development have matured -- I don't think necessarily software happens in the fashion Steve lays out -- but that's at best a nit. When learning how programming fits into the larger evnrionment, we have to start somewhere, and CC does a good job of giving us our bearings.

Looks like I've failed miserably in trying to give you both sides of my favorite book, and even thought I've read dozens of books on programming, this is at the top, so I have to finish up with one last superlative: this is the best programming book I own. Or owned. I really need to get a new one. This is the book I would buy a programmer friend who had no interest in startups but just wanted to be a better coder. Very highly recommended.


   

the buzz

Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along


For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code--and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software. Whether you're a new developer seeking a sound introduction to the practice of software development or a veteran exploring strategic new approaches to problem solving, you'll find a wealth of practical suggestions and methods for strengthening your skills. Topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software. This new edition features fully updated information on programming techniques, including the emergence of Web-style programming, and integrated coverage of object-oriented design. You'll also find new code examples--both good and bad--in C++, Microsoft® Visual Basic®, C#, and Java, though the focus is squarely on techniques and practices.

  

the video


A presentation Steve gave on world-class software organizations
Steve begins talking at 6:00. Although not code-related, I think that
it's an interesting lecture on how tech fits into business

What is this?

A while back I wrote an article on my blog listing all the books that hackers recommended to each other from the site HackerNews. The purpose was to provide a place to list book recommendations so that people didn't have to type in the same list over and over again. (HN gets several requests for book recommendations a week. I also get at least a couple each month). It was very well received, and many posters and commenters either asked that I make a site or sent me an email asking me to do so.

How is this any different from the list on the blog?

This list has more books. This list is sortable both by what question you have and your skill level. In addition, once you sort the list, you can save the link with your sort and send it to somebody else. So, for instance, when somebody wants a book for noobs learning to program, you can make a link for that and then reuse it

How did you collect these books?

Initially the list came from Googling HackerNews.com "best book" and taking the books from the first few pages returned. Later, I added all the books that were mentioned "You left that out!" when Jacques posted the link. While adding those books, I came across a Stack Overflow link where programmers were asked to list their favorite tech books, so I included those too.

If I ask you to put a book on here, will you?

It depends.

These books were all gathered by finding places where hackers hang out and are suggesting books to other hackers and other hackers agree with them by voting up their suggestion. If I can find an example of this for your book, I'm happy to include it.

How are the books ranked?

I did the best I could with ranking. I am sure there are many things you do not agree with. It would be possible to add voting and personal ranking -- that would make the system much better. Heck, you could rank the books yourself and use it as a customized book list to show to people who want your advice. I'd like to do that, but if I've learned anything is to not let your featureset get ahead of the users. This first version will test the waters to see what kind of interest the community might have.