One reason why I haven’t been writing books

Charles Petzold’s latest post on books as long format tutorials vs. reference material hits the nail on the head.

In a nut shell, there are a lot of books out there, and people are relying on them less and less as search engines become the dominant way to find information. It’s pretty hard to pour massive amounts of work into something when you know most people just want the code snippet that gets them past their current problem. No actual learning required.

Comments (7)

  1. Mike Dimmick says:

    …and then they have no idea how the code works, so cannot adapt it to new requirements, or debug it when it doesn’t work.

    To me, a good tutorial is worth a thousand times a code snippet – although I do find that often MS Press books (at least, of a certain vintage) will print the entire source of a sample program which leads to the new stuff being lost among the boilerplate.

    How new Windows programmers are supposed to learn what’s going on when truly excellent books like Jeff Richter’s "Programming Applications for Windows" go out of print I don’t know. All abstractions leak, and I think you’re better off understanding what leaks through the abstraction.

  2. IDisposable says:

    What I want is in-depth explainations of how thngs work… not snippets of how you do things that are "so yesterday"

  3. Vadmyst says:

    AFAIK books may be divided into several kinds.

    For example books that describe some API are based on reference materials.

    In these books, indeed, there will be a lot of code snippets, which can be found in the Internet. They also describe common approach to solve problems with this or that API

    Another type of books are more analytical, contain more theory than practice. Yes, they also contain snippets, but have large amount of analytical info and theory that can be learned and used in the future…

    So, every book has its audience :8-)

  4. Matt, I don’t agree with you. Using search engines you can find small pieces of information related to your query. A (well written) book gives you a path to follow, from beginning to end. I’ve never found a place with the amount of well organized information I can find in a book. Every time I find a very good amount of information about a software in the web, it’s the html content of a book or the product documentation (MSDN, PHP documentation, etc).

    We have still have Code Project, but no website have more information than your (or Petzold’s) book. Keep writing 🙂

  5. avidgator says:

    I think something is missing in Charles’ impressions about how people are using the books that are out there. Perhaps I am in such the minority that my $49.95 contributions just don’t add up.

    I myself am an avid reader. When adopting a new technology, I approach it from 2 directions. One is to "dive into the deep end." Jump in and try to get something done. Muddle through the MSDN documentation, Google code, et al. Unfortunately, the MSDN documentation is somewhat technical, and somewhat advertisement. While I can read about some method or class, there may or may not be links telling me about the "best practices" for using it. Google code actually tends to lean more toward solving "niche problems" and best practices are often completely overlooked. My feeling is that most of the best practices stuff is in the code of trusted experts – a reputation that is earned over time, and that 99% of the code you find on Google does not qualify for. This stuff is found in books, perhaps by taking a reference approach and only studying the necessary chapters.

    My other approach to a new technology — which I often undertake simultaneously to the approach listed above — is to try to read a good book on the subject. Good books are an odd concept to define. Not only does the author need technical and writing skills, but it also has to be written in a way that resonates with me. To this end I check with other developers, use the Amazon "look inside" feature, or use the more in-depth Barnes & Noble brick & mortar "look inside" feature. To me, the book’s ability to address my need-of-the-minute in only one aspect of its importance.

    A HUGE part of a book’s worth to me is its ability to lead me to areas that I had previously not thought to explore. Google and MSDN are analogous to dictionaries in this way. The definitions and specific solutions may be technically accurate, but you can’t learn to write poetry by reading a dictionary cover-to-cover. Good (technical) books resonate with the readers and inspire ideas.

    Just my $.02


  6. Anonymous Coward. says:

    I agree. Most people in my team will simply go to google/codeproject and keep searching until they find the exact snippet they need. This is more true in the case of people who write managed code (purely my observation!). The emphasis seems to be on getting the work done (even if it means copy – pasting code) without the need to gronk around at OS / platform / CPU level.

    But then there are a few who still love to read Matt Pietrek’s and Jeffrey Richter’s books on Win32 programming. We love life deep in the trenches 🙂

    (Side Note – PEDUMP has been a life saver for me. Can’t thank you enough for it. It actually inspired me to download the PE/COFF file format specification and write a similar tool.)

  7. Don’t forget though — there are plenty of people out there (myself included) who like having a hard reference to read. When given the choice between reading something in electronic format (online, PDF, etc) or buying a book, I buy the book every time.