share
Stack OverflowDo programmers read books? Or is the book industry dead?
[+64] [62] Dmitri Nesteruk
[2008-12-07 17:48:22]
[ books ]
[ http://stackoverflow.com/questions/347821/do-programmers-read-books-or-is-the-book-industry-dead ]

I keep reading in news and blogs that programmers do not read books, that the book industry is 'in decline' and that writing a book isn't worth the effort as the money is pathetic. My question: is it true? Should we just bury the book industry and stick to Googling and MSDN and the like?

(7) You are mixing two very different issues on the same question: the future of programming books and the future of the book industry. The industry is doing quite well, thanks to Harry Potter, Twilight et al. I am not so sure about programming books. - Kwang Mark Eleven
Eleven is right. The book industry and the computer book industry aren't one in the same and they don't have similar fates. This is so close to an exact duplicate that I considered closing it: stackoverflow.com/questions/165473/… - Simucal
When I really want to learn something complicated I print an article, go to a quiet table far from a screen with pencil and highlighter. This works for me, because I need to see arrows from a declaration to the usage of something to understand and I need to skim through keyword marked on the gutter to reduce the book to a set of pointers that can be kept in memory. I cannot do that with programming books: it would take too long for me before actually starting. So, my point would be that books are a useful reference, but most of all I need quick starters on a narrow subject. - mico
(1) Are you serious? Have you seen the programming section in a book store? - bias
[+73] [2008-12-07 19:58:58] Jon Skeet [ACCEPTED]

I'd like to challenge one of the implications in the question:

writing a book isn't worth the effort as the money is pathetic

That suggests the principal (or sole) reason for writing a book is the money. I've contributed to three books now:

  • The Annotated C# 2 ECMA standard - contributed annotations; no money involved
  • Groovy in Action - wrote some original text, but spent most of my time rejigging existing text into more idiomatic English; I receive a small percentage as royalties
  • C# in Depth - sole author; I receive the normal (for Manning - it varies a bit) author's royalty percentage

Clearly in the first case it wasn't worth the effort in terms of the money. However, I found it very rewarding to carefully go through the standard (all of it that I had time for) and reflect on it.

Groovy in Action has possibly been the most rewarding terms of an "hourly rate" - although that's potentially as it's later in its sales cycle that C# in Depth. Helping out with Groovy in Action, I learned a lot about Groovy, and even more about publishing and writing. It made writing about C# a much smoother experience. It also helped as a "foot in the door" to write about C# in the first place.

C# in Depth was immensely rewarding to write, for many different reasons:

  • I like imparting knowledge. It's a good feeling to know that thousands of developers have a better understanding of C# due to your work.
  • I'm passionate about C#, and want to share that passion. That's why I love giving talks about it too.
  • I learned a lot about C# when writing it.
  • Writing is a pleasurable experience in the first place.
  • Yes, there's some money. I think I've guessed that it's probably a bit more than minimum wage, but a lot less than my normal hourly rate. (My wife writes children's books - the difference between her earnings per word and mine is shocking.)
  • I had the good fortune of getting Eric Lippert to be my technical reviewer. Aside from having a far more accurate book at the end of the process, I'd learned loads of interesting nuggets of information, and received lots of valuable advice.
  • Reading favourable reviews is hugely satisfying.
  • Without wishing to put too much emphasis on it, having a book or two on your CV looks good.

As you can tell, money certainly isn't the principal reason for writing in my particular case, and I suspect that's true of most technical writers. I doubt that many people really earn a living through writing these days (although I expect the royalty cheques going to Josh Bloch and Jeff Richter are pretty substantial) - that doesn't seem to be stopping people writing though, does it?

EDIT: As for whether programmers read books or not - it's very hard to generalise. I don't actually read that many books for the sake of learning (rather than reviewing) but a few have been extraordinarily useful (Effective Java, Java Persistence with Hibernate for example). The fact that publishers are still willing to put out hard copies suggests there's still a market though. Look at how many C# 3 and .NET 3.5 books are out there - huge numbers, including multiple books from some publishers. Yes, ebooks could become the future, but personally for end-to-end reading (rather than reference) I still far prefer hard copy.


Yep, I'm authoring a book on Spring and I'm not doing it for the money, which by all reports is not enough to serve as a primary source of income except in the most exceptional of cases. I agree with all the reasons you list as being important reasons. - Willie Wheeler
I think the most important factor here is that you are doing a great thing for the community. We need people like you to write books... even if it doesn't pay very well :-) So Thnx! - TimothyP
While it's on topic, Jon, I'd like to mention that I saw your book in my local Barnes & Nobles. Congratulations on your book making it across the pond to sit on shelves in bookstores in the American South. (I would have bought it except that it's rather hard to do C# on a Mac.) - Chris Lutz
@Chris: Thanks. Funnily enough, I have yet to see a copy of C# in Depth in a physical bookshop (although someone has sent me photos). - Jon Skeet
@Jon Skeet: I saw your book in Waterstones. Too bad I had already learnt C# from another book; I might have bought it. - Callum Rogers
@Callum: I've never seen my book in a real bricks-and-mortar shop. I strongly suspect that the bulk of purchasers buy it from Amazon or directly from Manning... - Jon Skeet
1
[+55] [2008-12-07 19:22:57] Pete OHanlon

Do programmers read books? Has the bear wandered into the woods with a paper under it's arm and some toilet paper in its paws? I usually buy 2 to 3 computer books a month; and not all to do with disciplines I'm actively involved in.

The bottom line - books are a damned sight more convenient than the internet. If you're on the train, or just wanting to have a read in the bath then a paper book is a great thing. Plus, there's just something so satisfying about the feel and smell of a book.


(13) +1 ... a book makes long train rides/flights a lot easier. - alex
(1) Good point. They certainly do. - Pete OHanlon
(1) "books are a damned sight more convenient than the internet." I bought a book recently on Ubuntu as a reference source; I almost never read it as the Internet is far more convenient, for me at least. I'd suffer far more without the Internet than without books. - mrwiki
(3) But what do you do when you're on the plane, or travelling in the back of somebody elses' car or lying in the bath? These aren't the most conducive environments for surfing the web. - Pete OHanlon
(8) This was the first post that noted the convenience of paper. Instant-on, eternal battery life, portable, and so much easier to drag with you during a trip to the can. Selected editions might also be collector's items. Not so good in the event of water contact, but neither are computers. - Bernard Dy
(1) While there's no question that I love paper books, they are decidedly not portable (unless you are carrying only one), and they are not searchable. - Robert Harvey
+1 for the smell of a book! - Gary Willoughby
+1 for the smell. Wish I could +1 for the other points as well. - talonx
2
[+36] [2008-12-07 17:53:18] Dan Esparza

Absolutely programmers read books.

I just recently got a LINQ to SQL book (and it's on my nightstand).

But to be honest, I feel that we had a glut of 'thrown together' programming books for a long time. To me, it felt like the publishing business was just trying to chase what it perceived to be a cash cow -- and the quality of programming books suffered for several years.

I'm starting to rediscover books as a programmer now though -- and I'm realizing that the programming aisle in my local Barnes and Noble is a lot slimmer than I remember it, and it's filled with topics that I'm interested in now (like jQuery, ASP.NET MVC, and LINQ).


Tell me about it. Wrox copy was the worst. A book by 12 authors? Wow, imagine my surprise when I opened it up and saw that it looked like it was written by... 12 authors... - Dave Markle
It's most unfortuante, but yes, there are few books which are worth their weight at all any more. The ones which are, no descent average can afford them. - Chris
(7) To me, the worst books of the last few years seemed like printouts of the help file. I can read the help file. I go to books when I want a deeper understanding of the material. To authors: don't just show me the syntax... show me how to solve problems! Show me how things work together! /rant ;) - BoltBait
3
[+16] [2008-12-07 18:39:48] tvanfosson

Programmers are not homogenous in their habits. Some read books, others don't. I think we mirror the trends seen in the general public where other media is picking up share vs. traditional print media. Personally, I tend to buy/read books that are methodology/idea-based rather than language/framework-based. There are enough resources on the 'net to cover most of my "how does this class/method/construct work" and I spend my time reading about how to improve as a developer rather than learning language idiosyncrasies.


4
[+15] [2008-12-07 17:55:14] Treb

Definitely not.

When it comes to things like details of the WinApi or .NET classes, MSDN is the prime resource, because nobody would want to carry those around in their laptop bag ;-)

Google is ok if you are looking for the answer ot source code examples for a specific question (even though I prefer SO for it now).

But anything going deeper than this (concepts, algorithms etc) books are still the way to go. And for non programming related stuff, every programmer I know still likes to read a book now and then.


+1 for concepts. Just last week I purchased a book on digital signal processing. Most of the information I found online was code snippets on how to do something, but I like knowing why. The book explains why which allows me to make a more educated decision on how to engineer a solution. - Jeffrey Martinez
5
[+12] [2008-12-07 18:16:15] mson

Slight clarification. Programmers read snippets of books, but they don't necessarily buy them.

I see alot of us at barnes and noble perusing the stuff. Also, some of the best books are free (Thinking in Java).

The tech book industry has some significant issues to overcome:

  • too many titles
  • quickly outdated material
  • too specific an audience (not that many techies out there)
  • too broad an audience (noobs and gurus do not buy the same stuff)
  • online resources are often excellent and more up-to-date than a book

I'm at a point in my life where I can vote with my dollars. I'll buy books even when I don't want/need them to support an author.

There are alot of solutions to these problems, and I think we'll see a transition from what we have now, to perhaps Bruce Eckel's model (Thinking in Java).


The too many titles problem is a result of, quickly outdated material, the broad audience (noobs vs. gurus), and the extremely broad range of topics that "programming" books can cover. - Kibbee
The solution I've found is a O'Reilly Safari Bookshelf. I can browse and search their whole catalog, read it online and even download pdf's of them. - Brian C. Lane
I think somebody needs to figure out how to do nice. quick and cheap printing of one-off books. I.E. Download the pdf, take it to this place, the book is printed on high quality paper, bound like a book with cover and everything. That way you only print the physical copy if you want it. - Bryan Rehbein
6
[+12] [2008-12-07 18:36:45] Nikola Stjelja

I find that this statement is partially true. Programmers these days mostly learn from the internet. Things change fast nowadays, and developers are required to keep pace with all those changes. It takes from two weeks and one month to learn a technology from a programming book. Most software organizations do not have the time to spend on their developers. Instead developers are forced to rely on automatic tools (as intellisense in VS for finding what is there to do ) and for the internet to find quick fixes for their problems.

But, in order to have a complete knowledge about a technology, books are a required learning material. There is no substitute on the internet of a well researched, documented book full of examples of various parts of a technology. For me is imperative to spend 1 hour a day, however I can, learning a new technology form a book. This is important beacause in order to advance in my job as a software engineer I need to learn and expand my knowledge. But during my regular development hours I mostly use google to learn and solve problems I encounter in my code. The problem is, I need to have some knowledge to find what my problem is, and what is the question I need the answer to. That knowledge mostly comes from the breath of learning I received covering technical books in my one learning hour a day.


7
[+11] [2008-12-07 22:15:57] JGeiser

The last computer book I bought was in 2006. I've decided that if I'm going to waste paper on the dead tree version it has to meet these 2 criteria:

  1. It contains timeless information. In other words is the information going to be relevant 2, 5, or 10+ years from now? If not at least 7-10 years it isn't worth the paper. Perfect examples of books that stand the test of time:
    Code Complete
    PeopleWare
    Structure & Interpretation of Computer Programs
    The "Dragon Book"
    The Pragmatic Programmer
    The Mythical Man Month
    Programming Pearls
    etc.

  2. It's not available in digital form. (Increasingly rare these days)

I like to store my books on Microsoft's Live Mesh (I don't like to waste my DropBox space on things that don't benefit from versioning). Index the folders and you can now search on anything in those books faster than searching through the physical index in the back of the book.

Blogs, articles, and videos are better for information that's temporal or less formalized. Thoughts and findings fit better on the web than in a book and it's easier to share and update example code.


8
[+8] [2008-12-08 05:04:22] Bruce Eckel

I've heard that the majority of programmers keep the books they got in college but don't read new ones, just do their job and don't learn anything new.

This may be entirely true, but of course those aren't the programmers I interact with at conferences. Or the ones who read my books. Or who listen to podcasts or participate in discussions on sites like these. For that matter, a larger percentage of the computing folk I hang around with have written books. And the people I find interesting and want to hang around with are ones who want to explore new ideas.

"To a worm in a radish the world is a radish." So we say "of course everyone reads books and learns new things." But (apparently) the majority of programmers don't. Those just aren't the ones you and I interact with very much.


I keep my old books, but i also look for new books too. - crosenblum
9
[+7] [2008-12-07 17:55:39] Uri

I think that even programmers like doing things away from the computer, so a high-quality book that a tells a cohesive story and that can be read cover to cover would easily survive.

I think reference books don't have much of a future, especially when they are concerned with things that frequently change like libraries and OSs.

Also, article collections may become blogs (e.g., Brooks would have been popular with his man-month blog), although best-ofs could still become books.

Besides, there is no real "book industry" (aside from the printers), there is a publishing industry. If they make their money licensing online content, they'll still do well.


10
[+6] [2008-12-07 17:54:23] Eran Galperin

Programmers do read books, but the money from writing a software book is bad regardless. This is a niche market, and further exacerbated by many programmers sharing one library (at the office) and high-availability of downloadable goods (gasp!).

Whether programmers read books or buy them are two completely different questions.


11
[+6] [2008-12-07 18:24:46] FlySwat

I read programming books.

I buy about one a month, while I use the internet for quick reference, nothing beats reading a book on the weekend or evenings, when I don't want to stare at a screen.


12
[+6] [2008-12-08 00:13:21] nrich

I like reading programming books. I prefer to get them as ebooks (usually PDF), so that:

  • I can travel light (just with my laptop) and still have all my books accessible. This comes in really handy when I take a little break from what I am doing, and open up some book section instead of randomly surfing the web.
  • I can interactively experiment with code samples, which I like to view in an editor with syntax highlighting.
  • I can get updates without filling my dead-tree library with many editions of the same book.

In terms of content, it's a little hard to characterize the books I read, but I'll try:

  1. Introduction to a programming language. Examples: Expert F# [1], Programming in Haskell [2], Programming in Lua [3], Programming in Scala [4].
  2. Advanced programming techniques using extensive case studies. Examples: Paradigmes of Artificial Intelligence Programming [5], Building Problem Solvers [6].
  3. Introductory Textbooks. Examples: SICP [7], TECS [8], CLRS [9].
  4. Programming languages Textbooks. Examples: DCPL [10], EOPL [11], PLAI [12], TAPL [13].
  5. Higher-order self-improvement. Examples: The Pragmatic Programmer [14], Test-Driven Development: By Example [15].
[1] http://www.apress.com/book/view/1590598504
[2] http://www.cs.nott.ac.uk/~gmh/book.html
[3] http://www.inf.puc-rio.br/~roberto/pil2/
[4] http://www.artima.com/shop/programming_in_scala
[5] http://norvig.com/paip.html
[6] http://books.google.com/books?id=MraVKw_5g28C
[7] http://mitpress.mit.edu/sicp/full-text/book/book.html
[8] http://www1.idc.ac.il/tecs/about.html
[9] http://projects.csail.mit.edu/clrs/
[10] http://dcpl.mit.edu/
[11] http://www.eopl3.com/
[12] http://www.plai.org/
[13] http://www.cis.upenn.edu/~bcpierce/tapl/
[14] http://www.pragprog.com/the-pragmatic-programmer
[15] http://books.google.com/books?id=gFgnde_vwMAC

13
[+5] [2008-12-07 17:52:20] jtyost2

I personally still read books and I will keep reading books for a good long while. Blogs, MSDN, etc are great but to really get in depth and a wide variety of information nothing beats a book. Also some books are required reading for a programmer (Code Complete, etc).


14
[+4] [2008-12-07 18:39:10] Willie Wheeler

I buy and read lots of technical books--buy more than I read unfortunately, but still do a fair amount of reading.

I agree with the statement above that API references are probably dead. I haven't bought one of those in years, because they're less usable than hyperlinked APIs (like Javadocs for example) and yep, they're outdated quickly.

Also developers tend to have a fair amount of disposable income and so I think they're going to buy electronics, media, Starbucks and books.


15
[+4] [2008-12-07 19:14:32] JasonTrue

I no longer buy much in the way of specific technology books, but I buy and highly value books with "staying power." PoEAA, GoF, Fowler's Refactoring, XUnit Design Patterns, Domain Driven Design, a bunch of general algorithm-focused books (Skiena's, for example), and some more abstract books on things like graph theory, linear programming, and so on, along with some books from the Pragmatic Programmers. None of these books have become obsolete yet, and they all have at least 10 years of life left in them, if not more.

I occasionally pick up a book on a specific technology, still, but only when a major brain-shift is required to grok it. For example, I did buy specific books on C# (C# Precisely, Effective C#, one of the O'Reilly books, and so on), and Ruby (Programming Ruby), a couple on Rails, and I may need to get a book or two on Silverlight 2/WPF and F#. I've also bought some books on applying general techniques (patterns, algorithms etc) to specific languages idiomatically.

Anything that focuses on APIs or looks more like a narrow reference tend not to be worth buying thanks to internet references, but there are a few exceptions (Developing International Software 2, for example) that do more explanation/exposition and I occasionally find those useful.

Unfortunately, there are only a narrow batch of publishers that produce books I feel are worth buying. Addison Wesley, O'Reilly, and Pragmatic Programmers get most of my mindshare. SAMS (or whatever they're called now), Wrox, and similar publishers seem to rush out stuff which quickly becomes irrelevant.


16
[+4] [2008-12-07 20:28:57] Eddie Velasquez

I spend as much or more money on books now as I have ever done. Even though I have a Sony PRS-505 I just doesn't measure up to a physical book.


Could you describe your experience with PRS-505 in more detail? How good/bad is it for reading technical books? Any problems with small fonts, diagrams, etc.? I've been thinking about buying one for a long time... - Hrvoje Prgeša
I thought that the PRS-505 was practically useless for technical books until a firmware update last year that let it resize and reflow PDF files much better than it did before. After that, I thought it was cool. But it still doesn't compare to reading a hard copy. Diagrams and tables just don't reflow well at all. - Eddie Velasquez
I forgot to add, if you like and can read the small size font, it's very cool, look almost like a hard copy. If you use the medium or large sizes, the fonts look great but the formatting of certain paragraph breaks, diagrams and tables just doesn't look good. - Eddie Velasquez
17
[+3] [2008-12-07 18:46:47] Draemon

I would say that the majority of good programmers still read paper books. I don't think the type of knowledge you attain from quick-fix web searching and blog reading necessarily leads to good programming on its own.

I think the fact that a paper book has to work in isolation - without access to the web or even a PC means that you come away with a clearer picture of the subject matter.

when learning something new, unless I'm in a rush just to get it done, I'll read a book (or at least a chapter or two) to get a solid understanding of the subject before looking on the web for implementation details, examples and techniques.

I must admit I might not feel so positive about technical books if it wasn't for the O'Reilly titles. With rare exception, they can't be beaten.


18
[+3] [2008-12-08 00:44:40] J.T. Hurley

Good programmers read good books. O'Reilly's "In a Nutshell" series sells very well, as do their "Learning XXXXX" series and the "Head First" books. Geared more towards beginners, Sams' "Teach Yourself XXXXX" sells briskly, as does the much maligned but very handy "XXXXX for Dummies." And of course, library references do very well.

What hasn't done well are the independents or one-offs that don't stand out from the crowd. Taking on O'Reilly head-to-head isn't paying off. What is selling well is catching the gaps created, like Mark Summerfield's "Programming in Python 3" or Hans Petter Langtangen's "Python Scripting for Computational Science."

In short, what isn't selling well anymore is "buy and learn" books. The ones that do sell tend towards "buy, learn, and keep for reference" or just straight reference books. And a massive promotion promotion budget tied into a pre-built distribution chain centered on a brand-name with several product lines doesn't hurt at all. :)


19
[+2] [2008-12-07 17:51:24] fmsf

I disagree just read the book Brisingr from Christopher Paolin last week.

Reading is good, but indeed almost never have time for it :(


20
[+2] [2008-12-07 18:25:45] ConcernedOfTunbridgeWells

I have a fairly substantial technical library and what I tend to find is that if I'm looking for some snippets of information or some sort of overview you tend to want to buy several books on the subject. A book with 1 or 2 useful chapters or something that gives me an overview of a topic is really what I'm after. In many cases I've used Amazon Marketplace to mitigate the cost by purchasing secondhand books.

Some books have good content throughout but I consider it a win if I can learn one useful thing from a book. In most cases I find skimming two or more books on a given subject and then digging into parts of one of the books gets me where I need to be. Occasionally I find a book is more or less complete in itself but this is the exception to the extent that it's noteworthy when it happens.

Web resources have the advantage of being searchable and make a good supplement. I tend to find that most of my reference searching tends to go through google now and books are more useful as an intro.


21
[+2] [2008-12-07 18:33:11] Cruachan

I certainly read programming books. Sometime when you're jumping into a new API, Language or the like then a book is the best option. The other area in which they cannot be beat is classics about the business of software - such as Code Complete and Design Patterns.

For example at the moment I'm playing with the iPhone so I picked up a book on Objective C and another on iPhone development. Sure all the info is out there on the net or in the XCode documentation, but a book is just faster for getting up to speed.

I am pretty selective about which publishers though. Basically O'Reilly always gets the benefit of the doubt - about 50% of my bookshelf. Whilst there's less shovel ware than there used to be it's still far to easy to waste money of a massive 1000 page epic that contains little of practical value.


22
[+2] [2008-12-07 18:37:29] Pawka

In nowdays there are a lot of crap-books like "xxx framework in yy days". In these books is writen same reference but just in more daily language. You can buy such books every month, but it will be same as reading manuals. To find a good book (like "Pragmatic programmer" or other), becomes harder and harder.

So now I'm reading SciFi :-)


SciFi? You mean like "Vista Certification"? ;-) - Steven A. Lowe
Steven, haha :-) - Pawka
23
[+2] [2008-12-07 19:49:42] Will

Books are the only way to get in-detail and in-depth information about obscure or not-too-common subjects.

For example, you can't expect to learn about and fully understand how security works in .NET/Windows/ActiveDirectory without reading a book.


24
[+2] [2009-04-27 20:35:09] thursdaysgeek

I love reading a physical book, but many of the software books I've picked up are so poorly written that they can't be enjoyed. I'll buy them as references, but not to read.

Joel Spolksy's writing is actually enjoyable to read, and many of the more timeless books are as well. Those are nice to find. But a book on a specific language? The last time I read one that was enjoyable, was "Oh, Pascal" back in the 80s.


25
[+2] [2010-04-20 11:27:04] takeshin

What is a book? ;)

Is a PDF version a book too? A chm generated from the site too?

I just ordered printed copy of:

ProGit

Which is also available online: ProGit [1]

If I print whole (or part of) php.net [2] is it a book then? If I buy a printed copy of the same is it a book?

Maybe you just wanted to ask, whether do programmers are likely to pay for the information regarding to its form? Do you buy (printed) books?

If I buy a software with 1000 pages of printed docs, or I buy the (missing) docs, what's the difference?

We just need the information.

  • Somebody my prefer online resources, because they are live,
  • some may prefer digital copy (site, ebook or Kindle) because is easier to ctrl+F,
  • some will like printed version because they don't have web access everywhere or just like to touch 'crafted' things.

It is all about reading [3].

The difference you ask, is just an usability one. Similar question may be: Do you read texts formatted using monospaced font, or are they already dead?

BTW, do programmers watch movies (aka going to the cinema) or just stare to the laptops? ;)

[1] http://progit.org/
[2] http://php.net
[3] http://en.wikipedia.org/wiki/Reading_%28process%29

26
[+1] [2008-12-07 17:52:17] Gregory Higley

The book industry may be in decline, but I doubt it will go away entirely. But I'm no expert. All I can say is that I do read books, but not as often as in the 90s.


27
[+1] [2008-12-07 17:59:39] ayaz

Definitely, they do. How can one not read book and survive in this age, is beyond me. I read a lot of technical texts daily, so make it a point to keep a non-technical novel or two running side by side.


28
[+1] [2008-12-07 18:23:50] stesch

The people who are interested enough on the topic that they show up here, are the ones who are still buying IT books.


an astute observation! - Steven A. Lowe
29
[+1] [2008-12-07 19:07:34] DOK

I used to love programming books. But I have been turned off by poorly proofread books. So many times, I try to work my way through the programming code, and it just doesn't work. I end up spending way too much time trying to debug unfamiliar code. Often, it's difficult to get downloaded code to work. And few publishers actually keep the errata complete and up to date on their websites. I could forgive rushing a book on a brand-new technology into print if they'd post the bug fixes, but they don't.

So, my recent experience is that programming books are far too expensive and frustrating. Somehow, I have fewer problems with learning new technologies online.


Amen! I hate trying to work the examples and get frustrated because they simply don't work. - thursdaysgeek
30
[+1] [2008-12-07 19:17:05] Darius Bacon

Most of the books posted to this question [1], about deeper books full of genuinely interesting source code, date back to the 90s or earlier. That's (weak) evidence there has been a fall-off -- I'd love to be proven wrong by new recommendations over there.

[1] http://stackoverflow.com/questions/282470/which-books-have-really-interesting-source-code-and-explain-it-well

31
[+1] [2008-12-07 20:59:58] joseph.ferris

If you ask my wife, I read too many books about software development / architecture, in general. The thing is that there are more than one way to read a book. I still prefer a traditional paper-bound book, although I have a fairly decent ebook library. Ebooks have taken off like wildfire - but not in the way that the book industry has expected when it comes to the type of books we are talking about.

It seems that most people I talk to about a book say something to the effect of "Hey, I have that book. I'll email you a copy." I would still rather check it out of a library or just by my own, legal copy. I can expense it, and I actually like to think that the library that people keep on their desks or in their office give you some insight into what they are interested in.


32
[+1] [2008-12-07 22:20:12] mndoci

I like reading books, although over the years have switched to web or pdf versions. The biggest challenge with programming books is change. In some cases by the time you really get into the book, it's somewhat obselete. That makes the whole PDF/get a new one when a new edition is released model a little more appealing


33
[+1] [2008-12-08 01:06:31] Daniel Earwicker

As stesch has pointed out, this is a self-selecting survey, so our personal experiences are not a guide to anything. I personally have bought about four programming-related books in the last month or so. (And shortly before that I bought THE UNCANNY SKEET's book, which I recommend).

But for the low-down on what has happened, you have to ask someone who has been writing very popular mainstream programming books for a long time. And that person is Petzold, and you can hear what he has to say in this episode of the podcast '.NET Rocks' [1].

Summary: the bottom has fallen out of the market, and he has branched out into consulting.

[1] http://www.dotnetrocks.com/default.aspx?ShowNum=376

34
[+1] [2008-12-08 03:41:51] Jamal Hansen

I find myself reading quite a number of technical books, sometimes I just need to read a section or a chapter sometimes more. Generally the best books I've found are ones that are about concepts and not a specifc technology.

  • The Pragmatic Programmer
  • Design Patterns
  • Refactoring
  • Agile Software Development, Principles, Patterns, and Practices

These are books that I have gotten a tremendous value from and will go back to again and again because I've leveled up and am ready for concepts I wasn't previously ready for.

There are good books on specific technologies and these are most commonly good for aquainting youself with a technology. More often than not, I find myself going to Google for that sort of thing. You get a wider variety of opinions and as many have mentioned it's more up to date.


35
[+1] [2008-12-08 21:54:17] Bob

Good programmers read good books.

I think the biggest problem with the book industry is that the population of programmers has grown and it is huge, however the population of good programmers did not explode the same way.


36
[+1] [2008-12-23 03:54:45] jerebear

I find that reading books often share information with you you weren't looking for.

I have more "oh wow, that's cool!" moments by reading some of the WROX libraries than I do searching online.

There are a tremendous number of great resources out there but when I want to dig deep into something, I can only stare at the screen for so long.


37
[+1] [2009-08-31 08:45:25] user23462

There's nothing like a good book, notes in the margins, folded corner earmarks to the good stuff. Early in my career, I bought 2 or 3 books a month. I found that I've wasted a lot of money on a crappy product, books that are really just a verbatim regurgitation of the documentation with useless examples. There are exceptionally useful books out there that have already been mentioned (Heads-up, some O'Rielly series books, some WROX books), they use a readable writing style with real world, useful examples that you can refer to and relate to.

Much like the RIAA the book publishing industry needs to improve it's product and change with the times. Why not use a book as a gateway to a site that provides up to date information changes and reader contributions. For instance, the Rocky Lhadkas books that are the ticket of admission to CSLA developer framework world.


38
[+1] [2009-10-14 04:38:08] Recursion

I like books because I absolutely hate reading from a monitor.


Yeah, same reason here. - ShaChris23
39
[+1] [2010-01-31 04:36:38] Mongus Pong

I will continue to read books until they come out with a waterproof iPhone that I can use in the bath!


40
[+1] [2010-04-20 10:48:08] mico

I see two competing forces.

Some books are obsolete before you get to page 50. Some projects are cancelled before you get to page 100. Some books cost more than one is willing to risk on a technology. Some books take months to read while projects are allotted way less time.

Reading a book is way more satisfying than reading on a screen. Humans need to hold things in their hands. Some books stay with you for years remaining fresh and inspiring.


41
[+1] [2010-09-08 10:18:36] land rover

Programmers google more than ever before


42
[0] [2008-12-07 17:52:07] Nerdfest

Until all of the same information is available conveniently in electronic form, there's a place for books. I was poking around at work the other day for someone with a copy of POSA ... not all of the information is available online yet (that I know of).


43
[0] [2008-12-07 18:33:23] kushin

The life cycle of programming books has become so little that chances are its been outdated even before you got it from the store. Ofcourse, this may not apply for all books, But as the printing and distribution of books becomes less and less economical, I think the day when the hard copy programming books are a history is very near.

I personally am a fan of e-books, though some people would still like to have a hard-copy. Its so much easier paging down or jumping to a chapter from TOC and having a book just away from a click, rather than having a 500 page hardbound inefficiently occupying space in the universe. Not to mention e-books are a lot greener, dont have to worry about when moving :D

Just like IPod killing the CD business, I am waiting for that next best e-book reader that is portable, has tons of space and affordable and format friendly, so I can get rid of my bookshelf altogether. Kindle is not there yet.


44
[0] [2008-12-07 18:36:37] stesch

One problem with books: They are out of date as soon as they are printed.


(2) This only applies to books on very specific technologies, and even then most of it will apply for some time unless you're talking about very immature technologies. I still read the K&R C book, and I have a number of early OOP texts that are very well written and mostly relevant. - Draemon
The latest K&R only covers ANSI C. - stesch
(1) The books may be out of date, but they are often still ahead of what companies actually use. :) - brian d foy
Sometimes it's the opposite problem. The book is based on the beta, and when the final version of the technology is released, the book has become inaccurate, sometimes maddeningly so. - DOK
Are they? Take the Moby Dick or Bible for instance… The books are not just programming books. - takeshin
@takeshin I don't think rules for living in the desert, without electricity, are relevant today. I eat pig, I have garments with wool and linen, don't have my penis mutilated, and don't think slaves are a good idea. - stesch
@stesch That's not the point. I just wanted to note, that not all the books are programming books. And not all of them are considered outdated. That's true for most technical books, but the recipe for pizza or rules of typography are still the same. - takeshin
45
[0] [2008-12-07 19:12:02] Mike B

I don't think it matters where the information comes from. Sure, books are dwindling in general because people can find things easily on the Internet, but what happens when the Internet doesn't have the answer? What if you just want to know more about a subject? People will always read books, just like people will always use the Internet or use Podcasts or Videos as a means of learning.


46
[0] [2008-12-07 19:41:14] Filip Dupanović

Definitely reading books! I'm a fan of online resources and development communities, but I often find myself just straying off clicking on links and messing about the computer. Books keep me checked in place.

I've noticed people here have argued that there's too many titles on the market, cluttering their Amazon queries or Barnes and Noble bookshelves. I've got nothing against that, in fact in the past several years I've seen whole books emerge on topics that would previously be covered solely as a point in some chapter. It's becoming much easier to find good coverage on a multitude of tidbits floating around in our profession, just look at the amount of quality Facebook development books out there and you get the picture.


47
[0] [2008-12-07 19:49:21] sir_lichtkind

Especially in the Perl world there are some jewels like "programming Perl" (one of the first O'reilly books) Object oriented perl (oop :) ), high order perl (which is one of the best books about functional programming), perl testing (thanks chromatic).

shure there a lot of shitty titels, because stores want to sell, but many titels here aren't even published by O'Reilly (not enough demand) and published by small projects like ONYX (e.g. mod_perl 2 book) but these are then good books.


48
[0] [2008-12-07 20:09:24] James Piggot

My preference has always been to read books off-line, away from a computer, specially on train journeys. The best thinking happens when you are not working on a computer, particularly if it requires abstract thought.

The worst thing you can do to solve a problem is to log on to your machine. The best ideas and solutions will just appear in your brain when you're in the shower or out jogging, and one quick way of getting your brain into that abstract frame of mind is to read a book.

I have been grappling all weekend with CSS issues, with any luck reading the CSS Definitive Guide (excellent title from O'Reilly) on the train in to work tomorrow morning will help me to solve the issue, otherwise it will appear here as a question before the week is out.


49
[0] [2008-12-07 22:03:28] mh.

Definitely!I thing that serious software development is impossible without some reference books for your area and having read some general books on software development.

A funny observation is that all good programmers seem to read science fiction and fantasy novels. Do you agree, did you make the same observation?


50
[0] [2008-12-07 22:30:31] SquareCog

I certainly do, but I kind of have to (student).. I find books great of foundation and big-picture stuff, and web is a far better resource for "how do I".. types of questions. So, if I wanted to know how a DB optimizer works, I would find a book. If I wanted to know what indexes I need on a table for something, and was too lazy to experiment, I'd look online (possibly ask here).

As far as actual numbers of programmers reading books, this may be of interest: "Programmers don't own books, part II" : http://valhenson.livejournal.com/26848.html


51
[0] [2008-12-07 23:42:18] Ape-inago

I read books all the time... but they are usually digital in format.

Having a hardcopy of something does little for me. I'd rather have it be searchable. The best way for me is to have a .chm based file.... basically an html based book, with click-able links!


52
[0] [2008-12-08 05:30:09] FL4SOF

engineers certainly read books. many programmers might just skim through books or articles to get their problem fixed.


53
[0] [2008-12-08 13:44:33] Gerard

You don't need books anymore, of course. Everything is on Google and Google Groups. Google Groups has 18 years of archives, with answers for 100% of questions and better than hundreds of books reunified...


54
[0] [2008-12-08 13:47:59] Sean

Do programmers read book? Maybe...

Do good programmers read books? Absolutely...


55
[0] [2008-12-08 22:05:42] Morph

The books on Ruby on Rails seem to be pretty good, like Simply Rails and Agile Web development. I like to learn a new language by using printed books, so it's easier to look (basic) things up.

Though screencasts are very helpful as well. Though not as 'interactive'.


56
[0] [2008-12-13 05:18:31] Andy Webb

If I want to learn the theory behind something new to me I pick up a book. Books are great for learning new material and concepts en mass.

If I want to learn how to actually do something with the new thing I learned, I use the Internet. If I have to, I will look it up in the book.

To summarize if I want to learn

New Theory -> Read a book Put the theory in practice (lab) -> Internet and/or book


57
[0] [2008-12-13 05:31:02] Renaud Bompuis

I love reading books and I'm glad that at least some publishers make them available in PDF format, the best ones being Apress and O'Reilly in that regard.

I'd rather buy a book in PDF, print only what I need condensed in 2 pages per side and still have the electronic file as a reference for when I travel,
It also has the obvious advantage that the book is available straight away rather than have to wait for it to be shipped, and it's a greener option as well.

Books are mightily important although their relevance span is a lot shorter than they used to be, with the technology moving so fast and all.


58
[0] [2008-12-23 03:47:56] Hernán

There are many, many good books to buy and to enjoy when you are not programming, that is, when you need to think or to enjoy learning concepts and abstractions. The examples are many, as said on this thread: Design Patterns, Code Complete, Thinking in C++ Vol 1 & 2, Thinking in Java, Windows Internals, Modern Operating Systems, etc. The good programming books differ from the bad in the point that you can enjoy them without the need to resolve something related strictly to coding. Thinking in C++ is an example. It's enjoyable in a train, for example, even if you aren't in a proper environment to study the code sections because the concepts are explained exceptionally well.

So yes, good programmers hunt for good books, in digital or printed form. The problem does not reside in the format, but instead in the fact that ANYONE can type code nowadays (this is good, i'm not an elitist). But anyone can throw a software product of doubtful quality. The task is to enforce discipline in programming. A programmer can and must convert to an engineer who evaluates costs, risks, tradeoffs, etc.


59
[0] [2009-01-01 14:09:38] featureBlend

I try and read programming books to pick up the fundamental concepts. I am not sure why programming book sales have dropped, but one of the reasons might be that you can get a bunch of stuff pirated on torrents for free.

I don't condone piracy, but its the web and there is probably nothing much one can do about it.


60
[0] [2009-12-17 02:26:42] ShaChris23

I have about 2000 technical books saved on my Amazon wishlist (and I plan to buy about 50% of them). Even if every engineer on this planet stops reading / buying books, I will still be that dude buying / reading books. I LOVE READING BOOKS!


61
[0] [2010-12-17 12:55:03] DSharper

Personally me and many of my dude programmers get very little time reading programming books(anyway this is not good) so many have advanced their knowledge from googling ,by actually implementing solutions,Blogs, from the rest of senior programmers and looking at their work.

I have observed following regarding programmers and reading books

  1. Havn't read books for years learn from blogs,googling ~1%
  2. Reads books rarely less time to read but prefer training videos rather than books when have time ~75%

  3. Read books regularly ~24%

But anyway this is my personal experience and personally I havn't read a programming book from first page to last page for years most of the time few chapters per book.


62