Now that we have Google, countless blogs, and Stack Overflow, why should anyone buy technical books? And why should anybody write them? Charles Petzold’s answer is that books provide a narrative in a way that the web cannot.
Books about programming have certainly become less essential over the past 15 years or so. …
The Web has demonstrated that its greatest strength is the accumulation of information from many sources, and providing links between related concepts. However, where the Web falls down is in presenting long narratives, and I think this is a problem. For thousands of years, human beings have learned not by accumulating facts, but by following a narrative — a story that forges a path through the forest of information rather than merely describing all the trees.
… Books — at least those that are written well — provide narratives that the Web does not. …
As I’m writing a book, my primary intent is not to regurgitate the documentation but to impose a narrative on the material. This narrative has to begin with the basics and gradually introduce more and more material with a pace that neither overwhelms nor bores the reader. A narrative is necessarily a single path, and I spend much time and effort coming up with a good one.
From An Experiment in Book Publishing.
I completely agree. I love the kind of books Petzold is talking about. And by the way, a book with a dozen authors isn’t a real book in my opinion. I’m disappointed whenever I’m browsing a library and think I’ve found a book on something, only to realize I’ve found a stack of articles bound together with no narrative.
The other thing that books provide is indexing; When I was first learning LaTeX it was much easier to go to the Wikibook on it then to browse through the half-zillion answers on the TeX Stackexchange, the various packages documentation, or the zillion pages written by various people on who to do X in LaTeX. The wikibook (And I imagine traditional books on LaTeX) was organized into nice neat categories, so I didn’t necessarily have to know the name of what I was looking for, like I would with Google.
Also: Discoverability. I can look through a book on a topic and discover something is possible that I wouldn’t have known about otherwise. For example, putting two images into one with a combined caption. I never would have thought to look for such a package, but now that I know it exists I use it on a fairly regular basis.
Neil Postman would surely agree….
As someone who’s writing a tech book, I agree completely with the motivation for reading them. You can find endless raw information on the web, and occasional bits of explanation and articles, but putting it all together is as hard as its ever been. The web is like an encyclopedia — everything’s there in pieces, but it’s very hard to learn from.
(A separate question is why anyone bothers WRITING tech books, given the cost/benefit structure. I don’t know.)
Very true. A list of facts is not understanding.
Best Regards.
Very good article. I could not agree more. It blows my mind when people smirk after I talk about a new programming book I bought/read. In the fast moving tech world people seem to want temporary or partial knowledge but I think knowing the ins and outs of somethings encompasses all the temporary and partial knowledge giving programmers a tool to forge their own solutions and create a platform for future learning.
One of the annoying problems with technical (IT, programming) books is that by the time you finished writing it – the material is, if not outdated, then at least approaching it’s EOL.
But in general I agree with this view, dry technical references are of little use to someone who’s just starting. And it’s only books that provide a broader picture and put the technical details in to some sort of context.
So very true!
So much quick release s*it books published today where only goal is to catch the latest buzzwords in the title. Then simply stacks the reference docs with some occasional anectote about its usage.. No story whatsoever, barely usable as a cheat-sheet.
I’m sure this applies to a lot of people, but not everyone. I’m a visual thinker and have always been annoyed at linear narratives, particularly spoken lectures. I want to pause and rewind and fork, and spent many classes just off exploring something on my own based on a sidenote the lecturer dropped.
Narratives are restrictive. I would much rather be shown the map of the land first, rather than guided along just one path through the jungle.
hoopz: I’d say a map is a narrative. To produce a map, someone had to gathered a lot of disparate information and organized it into a story. They had to decide what to include and what to leave out, and how to partition the information.
I do agree with you, a narrative is something fundamental to actually learn something. When I say “learn something”, I don’t say something that you keep in your bookmark. I say something that you actually understand and which will change your mind.
Good post!
Question: Why do books have to be outdated? Do languages really change that quickly? I mean, some of the stuff I’ve seen on C is older then I am, and C++ isn’t much younger, is it? People still refer to The TeX book on the TeX Stackexchange, and it is older then I am.
Canageek: You’re right on. Languages don’t change that quickly, and yet we fear we might be missing out. That one new feature might cut the time to complete my project in half! Or so we hope.
And other things change slower than languages: design principles, algorithms, project management, …
Petzold’s books have all been worthwhile. Windows programming has changed completely over the last 20 years, and Petzold has written a book along with each major change.
Canageek: but there’s a lot of stuff that is evolving rapidly. Example is Linux. Yes I know the basics do not change, but new things are introduced with every major release, in other words every 6-9 months. And suddendly we have new stuff that is cool, but not documented. Take Puppet as an example. The first book was published and not long after was describing things that were not relevant anymore… And the interesting improvements weren’t in the book.
In the early days of man, it was our very love for the narrative that hunkered us down between camp and fire for the night. Tying that innate desire to what makes a good tech book great reminds me of those common ties that both binds us and keeps us warm.
I still have my copy of Petzold’s Programming Windows 3.1 – it’s falling to bits and going a funny colour now but it’s also full of my own additional notes scribbled in the margin – a good book grows in value as you mix your own thoughts with it.