During the last couple of years, I’ve been reading quite a few books about various
programming topics and related technologies. Some of them take a very practical approach
with a lot of examples and some take a more philosophical approach and some books
are somewhere in between.
Examples of the practical books are Microsoft
ADO.NET Core Reference by David Sceppa and Visual
Basic .NET Unleashed by Paul
Kimmel. They are filled with code samples and how-to guides and are good books
for reference.
The
Pragmatic Programmer by Andrew Hunt and David Thomas take a philosophical approach
with few code samples. A book like this is easier to read and makes you think.
The books in between could be C#
2005 Business Objects by Rockford Lhotka.
It’s not exactly philosophical but it touches some of the same topics. It is also
filled with code samples that are understandable through discussions in the book, thus making it a little philosophical.
The problem with the practical books is that they are too broad in their covering
of the subject. When they state that the book is for intermediate users, you can rest
assure that most of the content is not. The same goes for the advanced books. This
is regardless if the book is highly focused on a niche in programming or takes a more
broad perspective. They are good for reference but so is the Internet.
The philosophical books tend to be more challenging and that’s usually a good thing.
However, the lack of practical use makes them vulnerable to personal interpretation
and thereby looses some of their usefulness. This could also be a benefit of course, depending on the nature of the book.
Both the practical and the philosophical books always make me skip pages, because
there are a lot of wasted ink and paper in them. This could come in form of over-explaining
things or just stating the obvious again and again.
I find that almost every programming book falls into one of these three categories.
My personal favourite category is the one that mixes code samples with a philosophical
approach, because it forces you to participate in the discussions and make your own
judgments on specific coding and architectural problems while you read it. It can
also be used as a reference and thereby combining the best of the two worlds.
So, what does make a good programming book? To be honest, I don’t have a clue. Maybe
it depends on what your expectations for a certain book are before you read it. I
have been disappointed many times because of high expectation.
* $4.95/month BlogEngine.net Hosting – Click Here!