My favourite interview question is “what is the name of the last book you read about software”. My favourite follow up question is “what is the last software book that you bought”.
Usually, the answer to the first question is “uh, … I can’t remember”, or worse “uh, … it’s been a while since university”.
Answers to the second question are almost along the lines of “I can’t remember when I last bought a book on software”.
This is all very sad.
I have purchased and devoured books on programming and software on a regular basis since the mid eighties. I no longer buy a book a quarter and I have long since moved on from how-to-use-technology-X books.
These days I am looking for books to change the way I think so pure technology books don’t cut it any more.
I suppose this is an experience thing. I’m past the point where I need books to tell me how to use something, I now use books to see how I can learn new ways to think.
Books with new, or challenging ideas are few and far between at the moment.
Also, I have become just as guilty as everyone else at using Google as my crib sheet. I no longer attempt to hold vast amount of information in my head about APIs or cryptic syntax since I can find that information very quickly.
Finally, I still have a copy of the 2nd edition KR C book, printed on high-quality paper. I think it is probably one of the best books ever written on an language. Everything about the language is there albeit only ever mentioned once.
I remember a colleague of mine once telling me that how much she hated the KR book. For her it was a terrible book because there wasn’t enough reinforcement of key ideas throughout it. She found it hard to find things in the book. She preferred one of those 500+ page books on C that were popular in the early nineties.
The thing about the KR book is that it is meant to be read like a novel. It is not a manual. I think that this is why I still find it to be one of the best language/technology books ever written.
I suppose, more than anything, the KR book is about how you think with C. It is far less about how you write a program in C.