Here’s how the book has evolved from my perspective.
An Influx of Programmers 1999-2001
During this period books were longer, more narrative than they are today. For example, a book like Java Threads by Scott Oaks was a dense book that took days to read, re-read, and then ponder before you decided to read it again. There were a lot of new “developers” that entered into the industry with little or no context. Many people I know who are still developers today from that era didn’t major in a technical subject, and it wasn’t clear that they would become programmers until they stumbled upon the bull market of the late 90s. You had a lot of Philosophy, Classics, or Comparative Religion majors showing up at a .com and wanting to read programming books that developed context.
Too Many Programmers – 2001-2004
After the dotcom bubble, there was a recession followed by a really slow recovery for technology. The industry had too many developers and they certainly weren’t expensing millions of books. Programmers still consumed printed books during this period, just not as many. I remember writing my first book and it was all about print. Conversion to electronic formats was an afterthought. If you were going to learn a new language, you bought the book.
Programmers Wanted – 2004-2007
Services like Safari become much more popular. In 2005 book stores still had substantial “programming” sections, but by the end of this period you’d be lucky to find more than a handful of real programming books at book stores that are coming under increasing price pressure (from everywhere)
During this period I noticed that books started to shrink a bit. Programmers weren’t looking for that 300 page introduction to Java Servlets as much as they were looking for a more focused text on a specific technology. Technology was evolving as well, there wasn’t one web framework in the Java space, there were 40, and writing a book about each was unrealistic.
My own style of writing evolved as well – the first book I wrote was full of humor, long introductions, and aside, but at the end of this period I felt that a focus on utility made much more sense.
Electronic Delivery + A New Generation – 2008-2012
Electronic delivery of content is driven by Apple and Amazon. At the end of this period, yes, there are still people purchasing printed programming books but in a sort of quaint, old-fashioned way. If you consume programming books (and that’s a big if), you’ve likely grown accustomed to reading them on a tablet.
Books these days are much more focused on a single topic. There’s little time for context. If you are writing a book on Github, it better damn well get to the point quickly because I’ve got thirty other technologies to keep track of at the same time – also, I’m reading this on a screen so I’m much more likely to just stop reading if I encounter sections and sections full of lengthy intro sections and commentary.
Topics are so small, and things move so quickly that it often makes little sense to write “a book” about something because A.) It isn’t a large enough topic to warrant a book, or B.) By the time you get a book through production it will be obsolete. This is why you see entire communities (like the RoR community) starting to focus less on books and more on documentation via 1000 blogs.
Today’s programming books are much less about reading and more about conveying a simple example that someone can copy and paste – now. As we transition to the screen it is less about reading and more about getting something done.
When you could rely on the printed page, you could rely on less distracted readers. Today, you’ll be lucky if your reader has more than 10 minutes of uninterrupted reading experience. This means that you need to get to the point, quickly.