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.

3 comments:

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.

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.