I had heard rave reviews of Code Complete for years. Supposedly, it's required reading for every Microsoft employee. Programmers I respect glowed about it. Rumors abounded about its ability to cure warts... OK, maybe the rumors didn't quite say that, but they were pretty close.
Perhaps I'm a bit of a skeptic (which is funny, considering that I'm a Christian as well - but even in church, where things must be taken on faith, I do view everything in a highly skeptical light unless it is grounded on the Bible). "Surely," I thought, "no programming book is that good!"
I now stand corrected. I have nearly completed my first reading of this book (and I really took my time with this one). It is, without doubt, the best programming book I have ever read.
It reads as the collective wisdom of many independent programmers brought together from years of experience, which is the only true teacher in our profession. The book does an excellent job of identifying common pitfalls in a language-agnostic fashion.
There are only a handful of problems with it; the most major of these is that it could use some updating. For example, the C# language sidesteps entire sections of problems due to its design. There are also a couple of very minor points where I disagree with the author, and one tiny omission (I hope to blog more about these in detail later).
I say again: this is the best book on programming I have ever read. I fully intend to read it continuously (starting again each time I finish). It should be read by anyone entering the field as well as anyone working in the field.
The name is Code Complete, and it is a "must-read." No programmer's bookshelf is complete without a copy.

Is it worth to someone that only codes in the .Net environment or the problems discussed at the book are already solved by this environment?
ReplyDeleteNo; .NET and C# only solve a small number of common programming problems. This book is a great benefit to any .NET programmer.
ReplyDeleteI am surprised that you say you are highly skeptical about almost everything and yet make a special exception for anything grounded in the Bible. I am particularly surprised because you are clearly a very intelligent person, and yet single out a specific book like that, and blindly trust everything in it...
ReplyDeleteTry looking at what the Bible says and evaluating it with the same clarity of mind as you evaluate programming issues (IDisposable for example).
"When you buy a male Hebrew slave, he shall serve for six years, but in the seventh he shall go out a free person, without debt." - this is grounded in the Bible (Exodus 21:2). Hope you are at least a little skeptical about this.
God has proven Himself true over and over again for a couple of decades in my life. Still, there is no way to absolutely prove the entire Bible (if there were, then Christianity - a faith-based system - would cease to exist).
ReplyDeleteAt times, I have doubted the Bible. However, I have always found the Bible to be true, if understood in context.
For example, the Bible does not condone slavery, but does have instructions for how to live in a society where slavery is accepted. In the particular passage you quoted, the instructions are not even dealing with "slavery" as we think of it today; the system was more what we would call "indentured servitude" (the person in question has sold himself into temporary service to pay off a debt).
True slavery in the Bible is only found when one nation conquors another and takes slaves (usually from the youth). Even then, it was common practice to practically adopt such slaves, even to the point of making them heirs! Very different than the mental image of "slavery" that exists in modern Western culture.