Monday, October 15, 2007

Why Technical Books Still Matter

Reasonable people wonder how good a programmer can be if he spends all his time writing a book instead of writing programs. Free screencasts and Peepcode are making books look outdated and silly. The pace of change in technology is fast enough that publishing a book which is still up-to-date by the time it hits stores is virtually impossible. Some people think you shouldn't bother with technology-specific books at all. Maybe the time for books has passed. Maybe we should concentrate on beaming data directly into our brains.

I have at least 200 books listed under "save for later" in my shopping cart at Amazon. Admittedly, I have many interests, some of which are entirely nontechnical, but Amazon doesn't expose an easy way to grep the subsets. Anyway - I definitely think it's worthwhile to read a book from time to time. The advantages are depth and interactivity.

First the surprising one: a book is more interactive than a screencast. I find screencasts often go too slowly for me. I can double the video speed, turn down the audio, and put on some music instead - just watching the code go by instead of listening to the narration - but that deprives me of additional useful information, assuming the narrator provides some, and it still locks me into whichever path the screencast's chosen to take. Obviously when it comes to choosing your own path through the information, using blogs and Google absolutely clobbers books, but the advantage books have over screencasts is, paradoxically, the most modern advantage possible.

In terms of depth, books are simply much, much larger than most information sources you'll find on the internet, normally by orders of magnitude. If there's something that everybody skips over in a blog, you're probably going to be able to find it explained in a book. If all you want is enough information to do your job, you might not need books. But if you want to be really good at what you do, you need the information that everybody else skips over. There are always hidden advantages and hidden gotchas in the information everybody else skips learning. In fact the scary part in learning a technology inside-out is discovering how often perfectly intelligent programmers shoot themselves in the foot.

Last but not least there's one bonus advanage: portability. You can bring your iPod to the beach, put your headphones on, and watch a screencast, but it just isn't the same.


  1. I use LibraryThing to track books I own, have read, and plan to read. LT uses tagging, so it's easy to tag 'toread' and a subject so I can find a new CS theory or origami or pulp sci-fi book whenever I'm in the mood. Maybe you'd dig it.

  2. I'm writing a book, so I'm biased, but I agree with you.

    (The book is the second edition of High Performance MySQL).

  3. Reading technical books is by far one of my favorite things to do. As much as I enjoy blog posts and screencasts, they never approach the depth of a good tech book. Whenever I reread my favorite books, I find that I add a new thin layer of understanding, which I find very exciting.


Note: Only a member of this blog may post a comment.