What makes a good programming book?

by Mads Kristensen 21. May 2006 22:43

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.

* Only $4.95/month ASP.NET & Windows 2008 + IIS 7 Hosting! FREE SQL Included

Tags:

Random thoughts

Comments

5/22/2006 1:22:55 AM #

 Jimmi

I think that a good programming is the book that serves its purpose.
If you are new to a subject, the philosophic book is often the right approach, while expanding your existing knowledge is often easier done by reading a practical learn-by-doing book.

Jimmi |

5/22/2006 2:46:59 AM #

 Mads Kristensen

I agree to some extend. But philosophical books often aim at the more skilled developer and if you are one, you are going to skip a lot of pages because they are often stating the obvious. Expanding existing knowledge throw a practical book could be usefull, but it is almost certain that more than half of the book tells you nothing you didn't knew before. That's kind of my whole point. None of these approaches are fully satisfying for anyone. Maybe some are, but none that I've ever come acros. That's why i prefere the middle ground - a combination of those two. Rocky Lhotka's C# Business Objects are a perfect example of this combination.

Mads Kristensen |

8/23/2006 7:09:38 PM #

 glen

I think good book should be very easy to understand and have good structure,just like "Thinking in java"

glen |

8/23/2006 9:00:14 PM #

 Michal Talaga

Be sure to check out my recommended books list:
vaultofthoughts.net/TheRecommendedBooks.aspx

Michal Talaga |

8/24/2006 1:34:18 AM #

 tanguyr

Well, for "type 1" books, i'd say a nice big fat index with loads of cross-references is a good sign. Nothing worse than searching though dead trees to find that one snippet you remember reading last week... For the others, i'm beginning to think that the hallmark of a good book is that you can read it in bed - i.e. you don't need to be sitting in front of your computer playing "code along with waldo" in order to get it. These are the books that teach you the most imho.

/t

tanguyr |

8/28/2006 11:49:37 PM #

 Jon

the only good programming books for ASP.net are those with code examples in VB

Jon |

Comments are closed

About the slave

Mads Kristensen Mads Kristensen
Web developer at ZYB and founder of BlogEngine.NET. More...

LinkedIn ZYB Facebook Last.fm Twitter View Mads Kristensen's profile on Technorati

The Lounge

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008