views:

269

answers:

8

Possible Duplicates:
When to Throw Out Old Programming Books?
Are programming books a necessity nowadays
Do programmers read books? Or is the book industry dead?

I was wondering what people think about this. I have a good couple of feet of reference books which I keep at work, with the hope that other developers may pick them up, and for me to use as a point of reference. I'm not sure whether this is still relevant, Pro Spring probably gets the most use out of any of the books I have, but it was written 5 years ago, when Spring was at version 1.1, sure it's still good, and you can check things against the latest docs, however 5 years is a long time.

Ignoring the hassle of moving several bags worth of books around, is it still useful to have a hardcopy of this kind of thing? With google/stack overflow/etc. you can usually find an answer to a specific question quite easily, the original utility of having an expert explanation of a topic is kind of reduced. Also these books typically are quite expensive, so it's not practical to buy many/often unless you can get your employer to cough up for it.

When I first started working in the software industry we were given The Art of UNIX Programming and Programming Pearls, which I haven't really looked at since, and I have Modern Operating Systems from my degree, and I've looked at them maybe once in the last 2+ years.

Even though I haven't read most of the books I own for ages I still think this kind of thing is useful, maybe it's the thought of lugging them all to my new job that's putting me off...

+2  A: 

A good book has been peer reviewed and is guaranteed to be on-topic, but the Internet hasn't and isn't (Stack Overflow notwithstanding!)

(Granted, the official online documentation for something is probably accurate, but citing Google as a reference source sets off a loud alarm bell!)

RichieHindle
A: 

I think books are helpful. Though I usually use them the most while learning new languages then don't look back very often once I am actually developing something.

tylercomp
+2  A: 

A good book is always a good thing. The real worth of something is what knowledge it grants or provides. Yes, it's far easier to get to the heart of the issue using the internet or SO but often there's something to be said for having a reference handy. I can't tell you how many times I've made a search for something on google and had a ton of everything else come up.

Case in point, search for CString on Google. You want the Microsoft implementation, you get pictures of something totally different (potentially NSFW, just a warning.) A good book saves you from the crud that can and does fill search engines.

wheaties
+5  A: 

Just like with anything, there's the good and bad of programming books.

Pros

  • They filter out the "noise" of blogs and articles. They are reviewed, re-reviewed, edited and filtered to have only the correct information at the time.
  • You can read them without taking up another monitor like an e-book or website.
  • Having to physically type in code snippets from a book helps you understand the material moreso than blindly copy/pasting code from a website and hoping it A) works B) isn't bloated C) isn't bad practice.
  • They are physical and look great on a shelf!

Cons

  • They become outdated quickly (ones specific to a particular version of technology).
  • Can't copy and paste code snippets [I think this is actually a pro when learning]
  • They are not as easy to search as with other sources (e-books mitigate this drawback).
Ryan Hayes
the ease of searching is highly dependent on the skill of the indexer. Two data points: Python, the essential reference is highly searchable. wxPython is crap.
Bryan Oakley
most books come with a CD or at least a complimentary website with all the code snippets available for download.
Neil N
Technical books become outdated at different speeds, depending on subject and approach.
David Thornley
+2  A: 

I think that using books as reference is not that useful any more, if you are looking for the exact syntax of a particular function, google is much more useful.

However, using a book to learn about a new language or framework can be much more productive than browsing the web.

Henrik
Exactly my thoughts - books get outdated as references quickly. But as a tool to learn something initially they are invaluable. Of course it depends how each individual learns best but I would'nt want to read a whole book's worth on a computer screen for example.
rmx
With this, it's *extremely* dependent on the language/framework's documentation. Sometimes, especially for slightly more esoteric languages, a book is much easier to digest than de-centralized mish-mashes of 1 page blog posts hacked around the Internet 20 years ago (I'm looking at you, old school batch files for Windows...).
Nitrodist
I totally agree. A good book can give you a graded narrative that takes you from knowing nothing to knowing a lot in a very short time.
Peter M
+9  A: 

There are certain books that are "timeless"* in a sense because they talk about abstract concepts. For example, I like Pragmatic Programmer, Clean Code, and Effective Java. I still consider them to be "Programming Books" even though they don't focus on specific technologies.

It's a pain to lug them, but you only have to do it once :) I always find it helpful to have these books lying around at work. I also have a stack of books by my desk! There really is no substitute for a good book. Sure, searching teh interwebz helps but I still like going back to a book to brush up on important concepts. An important distinction is that a book is more reliable.

*As a disclaimer I won't say that they are actually timeless (as in for ever). Technologies, paradigms, and programming languages change. But I'm sure that there are some core philosophies that will hold true regardless.

Vivin Paliath
I completly agree, take "Code Complete" for example. Some concepts are a bit old, but the overall philosophy is pure gold.
Chepech
+1 for 'abstract concepts' and a refrence to 'Clean Code'
Chad
+2  A: 

If your question is about the value of a published book, then Yes. Books are typically written with a panel of experts with editing, suggestions, and the code samples are usually checked for compilation and completeness. This aspect often makes a book more worthwhile than say, a blog entry or SOF response. If your question is about the relevance of paper versus digital books, it would depend on your preferred lifestyle.

Ash Machine
A: 

There are a couple classes of books I generally prefer compared to online resources:

  • Books about language-agnostic topics like design patterns. These are as timeless as programming books get, and so are worth having on your shelf. They also generally fall into the next category as well.
  • "Introduction to X" books. Unlike online resources, many books are structured to teach, and not just inform. If you're learning a new language, reading the book front to back generally results in you knowing your stuff better than stumbling through online exercises with Google on the other screen. Once you have the basics, online resources will answer specific, more esoteric questions about the topic.
  • Books that are the "official" study material for a certification exam. The material may be available for free, but the book will not only compile that info, but tell you by inclusion or omission what is or is not going to be covered on the test.

Beyond that, yes, a strong Google-fu will get you the answers you need faster and cheaper than a library, and those answers will change as programming evolves. In fact, there were some questions raised about a topic in an exam prep book that the book didn't answer (in fact it created the confusion that resulted in the question to begin with). SO provided the answer in about 5 seconds.

KeithS