Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Apart from Ancient History, I believe it's desirable to have books of most disciplines to be updated. This is applicable for Programming Books also. I mean, one wouldn't like to learn from a book published a decade back which would not reflect recent improvements to the matter at discussion. I understand certain basic concepts don't change much, but even then, the presentation tone should change to reflect contemporary customs. As an example, in a chemistry book, Carbon is a said to possess Dr Jackeyl and Mr Hyde like behavior; being something precious as Diamond and something ugly like coal. Youngsters these days maybe not be familiar with those character and hence updated writing should constitute modern examples.

In these regards, what should be the effective lifetime of a Programming book?

share|improve this question

closed as not constructive by kevin cline, Walter, David Thornley, ChrisF Aug 9 '11 at 9:59

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

1  
Your question is not clear to me because on one side you seem to talk about technical aspect ("reflect recent improvements to the matter") and after style ("Dr Jekyll and Mr Hyde"). They sure don't have the same lifetime. –  Jonathan Merlet Aug 8 '11 at 6:43
    
What I meant is, if a book is using Dr Jekyll and Mr Hyde to explain something, young readers may not be familiar with those characters. They maybe used in older books. –  Shamim Hafiz Aug 8 '11 at 6:45
    
How do you presume that anybody can answer this question in absolute to cover all programming books? –  talonx Aug 8 '11 at 8:38
    
@talonx: Well yes, to some extent the question is a bit too broad. Although I didn't make it fully clear, I was implying on books that are bound to get outdated. –  Shamim Hafiz Aug 8 '11 at 8:52
    
@Shamim - the best I can say to that is that there are some books that get outdated very quickly, and if you can spot them in advance you're better off working with web or downloaded docs. Some stuff for Microsoft languages/libraries etc is a bit like that - the books may be perfectly good, but you'll only have read a few sections before the next version (or next complete replacement API for the same job) is released. It's not so much that the books become useless, but you'd need so many books to handle everything you use it's impractical. –  Steve314 Aug 8 '11 at 10:13
add comment

4 Answers

The effective lifetime of a programming book varies immensely. Books on programming in general like the Art of Computer Programming and the Structure and Interpretation of Computer Programs have a massive lifespan due to being more heavy on theory and general techniques rather than the framework of the month. On the other hand, a book like the iPhone Developer's Cookbook has a very short shelf life as Apple continually upgrades and changes the iOS (see even the name changed quickly) platform so that information in such books may no longer be accurate. I would say as a general rule, the more math the book contains, the more timeless it is as it is about Computation rather than Computers. Languages and Frameworks (particularly the latter) are much more dependent on the machine and thus when the machine is obsolete, the book has a strong chance of being superseded. It's like Weird Al sang in All About the Pentiums, "It was obsolete before you opened the box".

share|improve this answer
    
+1: The part about Maths is a good indication about lifetime. –  Shamim Hafiz Aug 8 '11 at 7:32
6  
Absolutely true. I have a 25 year old algorithms book on my shelf that will probably still be there (or on a new shelf) in another 25 years time. That's basically because I'm 40 - if I were older, I'd probably still have some older books. I do have some older books, including a Fortran book published in 1972, but i can't really claim that's useful. –  Steve314 Aug 8 '11 at 7:37
4  
Same thing applies to Software Engineering books, even if they don't focus on math at all. They stay relevant because people don't change rapidly, like math and unlike programming languages. –  MSalters Aug 8 '11 at 9:39
1  
The concept of framework of the month is scary. :D –  bhagyas Aug 8 '11 at 11:35
add comment

Books describing the latest technology will be aging poorly. What use is a C# 1 or even 2 book these days? Or a book on Winforms, asp.net,... They're all obsolete years after they were published.

Books describing ideas in a technology independent way age a lot better. Some examples:

  • The Pragmatic programmer
  • Code complete
  • The mythical man month
  • ...

They're all still well worth reading today.

share|improve this answer
1  
+1. Talking of Code Complete: check out the further reading chapter. Page 855 "Detailed references on languages, operating systems, environment and hardware... generally have a lifespan of about one project." Other books last longer, he talks about "a core of programming books explaining fundamental concepts of effective programming" and "other books explaining the larger technical, management and intellectual contexts within which programming goes on" –  MarkJ Aug 8 '11 at 12:02
    
Those were exactly the books I had in mind when I read the question (and are on my shelf). I would add Peopleware. –  KeithB Aug 8 '11 at 16:02
    
That one's on my (way too long) to-read-list. –  Carra Aug 9 '11 at 6:57
add comment

I guess we should be writing books with references to today's pop culture? Paris Hilton says "C# is soo fluffy even I can code in it"? Yeah right. Your issue seems more to do with a lack of grounding in the basics of classical literature, stuff that does not age over time and is recognised as having a profound influence to the point where it is still taught and used as references. Yekyll and Hyde are still around, having at the very least been mentioned in several popular films of the last few years.

"The C programming Language" by Mssrs Kernighan and Ritchie is still on my desk. Admittedly it is on its 2nd edition, I guess the 1978 edition is now considered obsolete :)

share|improve this answer
    
I think a few parts of the 2nd edition are also out-of-date with the latest C standard. I still think all of the examples compile and work, though. Not sure if that's also true of the 1978 edition. –  Thomas Owens Aug 8 '11 at 16:27
add comment

I think youre question is too general.

In terms of general programming skills, the lifetime is probably much longer than you think as basic design principles stay in place.

In terms of specific language technologies, it's unlikely that a 10 year old Java book is helpful now. As such, you could claim that the utility of such books is dependent on the speed at which the language is developed and the extent to which it changes over time.

There isn't really a simple answer to this question - ultimately if you are already using the language in question, then it's up to you to keep abreast of developments, if you are not, the likelihood (speaking from experience here) is that you're going to want the most recent book you can get on the subject.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.