The short version of my review: Imagine spending about 20 years in a team who have to figure out all the shortcuts, problems and best ways to build solid programs and code. Then you all decide to put the best and most frequently occurring things into a book or two. This is one of those two books. This way you can find new issues rather than rediscover old ones.
I've done little programming. Some Turbo Pascal ten years ago. Just enough to know what an object, method and property is but not much more. Certainly nothing modern. I've opened up Visual Studio and only just linked to a simple table.
This book was highly recommended online, so on a whim I thought I'd give it a shot. I still have to learn the specifics of VB and maybe C++ at some stage.
However, if all you have is the level of knowledge I have, this is an enjoyable read. I covered a lot of ground in the first couple of days and will probably finish it in the next week or two time allowing. The writing style flows well, and makes his points as clear as they can be to a novice. I suspect seasoned developers need this far less of course.
I would highly recommend this be read by anyone who has to take the time to learn any programming for work-or even self interest. Alongside their chosen language tome of course :).
A good book that fits with this is The Pragmatic Programmer by Andy Hunt which is referred to in this. Another well written piece of work.
My comparison is a number of other programming books I've had time to flip through to try and grasp the basics recently. Many are quite difficult to get into at all, purely on style rather than content. Something I've experienced with other text books. The author's voice makes so much difference!
Edit: A few months from this review I've had to code some stuff to make my life easier. Nothing fancy, literally just a form front end that is populated by queries as you move through the interface. The logic of my data and querying is tied to the interface-a bit of a no-no. My coding is still mostly sub routines/functions with a bare bones misceallanous class doing some donkey work (dressing up strings, returning some values etc).
Despite this beginner level of programming, I followed at least some of the notions in the first few chapters of this and Andy Hunt's book, the program itself is very very easy to modify. Naming things, minimal global variables (2 actually) and passing the least amount of data between sub routines as possible (usually 1 or 2 parameters).
So my point is, even if you've just started and only understand the difference between a sub routine and a function or have the vaguest idea of what a class/object is (like me!), this books first chapters are still worth having read whilst you embark on your own learning curve. The process of having done so, will give your mind a useful framework to fall on as you get to grips with the simple end of programming and be a great foundation when you take it further.
Note that the above paragraph implies it's a beginner's level book. It's not-it reaches quite the way through to fairly experienced coders.
In conjunction with the book by Andy Hunt who's specific advice is very readable and enjoyable, the two books would be very much worth any programming student/hobbyists time. Also anyone who has a development department to manage/negotiate with. Simply understanding much of the basics in these two books makes it easier for you to concieve of what/how you would like things to happen-even if it's broad brush.
Andy Hunt's book is The Pragmatic Programmer
. The technologies described are nearly a decade out of date-though many still relevant enough to be handy. It's the principles and advice that are priceless.