a companion discussion area for blog.codinghorror.com

Programmers Don't Read Books -- But You Should


+1 for the “The Inmates Are Running The Asylum”.
And if someone is doing serious UI work the green book next to it on the top shelf is also recommended (that is Cooper’s “About the Face 3” if I am not mistaken).


All the books that you mention are relatively old, not of course to imply that they are any less relevant. I was wondering which books from say, the last three years, you would recommend?

Is this a joke question? I’m concerned. I can’t tell.


On the topic of C books, I always found Harbison and Steele’s “C: A reference manual” to be better than KR in actual usefulness. KR is a great book as well, but HS is the one that you’ll actually turn /use/…

  • Roddy


“To over simplify things - The quick fixes come from Google while the long term good code and good design comes from books.”

Beautifully put, Brian.

I dabbled with OpenGL using information and tutorials online… and finally understood how it works once I got a book on the subject. Sometimes I need things to be explained to me really slowly, without missing any details, before it truly makes sense. I’m sure a lot of coders are the same - and that, in my opinion, is why “___ for dumbasses” books really suck.


No “Writing Secure Code” up there?

Your list closely resembles my own, therefore you are a genius!

I’d add “Ship It!” from the Pragmatic bookshelf and “The Little Schemer” from MIT Press. “Ship It” has strategies for dealing stagnant workplaces and how to achieve change in them. “The Little Schemer” is less about the Scheme/Lisp languages and more about teaching recursion. Which is an eye and mind opening concept in computing. I’m still working my way through “The Little Schemer”.


What programming books have you read in the past 12 months?

As for dead trees, your publisher SitePoint supports selling PDFs but I don’t see your book listed on their site. While I like to sit down with a dead tree book for the first read through, easily searchable digital versions for later reference are really useful.

There aren’t enough great authoritative technical writers. It’s going to be a long time before I replace my tried-and-true Unix and networking references by W. Richard Stevens. I can’t remember the last time I read a new-to-me book with actual code examples in it. The majority of the 30 non-fiction books I read last year were about business psychology, software/network security and career management.


As far as I know, most of CS undergrads think course notes are all the knowledge the need in life. The problem comes from the root: basic education.


I like your article and selection of books except

  1. The VB book detracts from your cred.

  2. UML and design patterns are a classic hallmnarks of second rate corporate drones. Not to mention that the design pattern books are incredibly boring.

  3. If you are doing algorithmic work where O(x) matters, Knuth is actually very useful.


“…one book is more than most programmers read each year (DeMarco and Lister 1999)”

“I believe the same text is present in the original 1993 edition of Code Complete”

Time machine? A citation from 1999 in a 1993 edition would indeed be prescient (-:

And yet it must be so…

“I own a copy of that edition, and definitely, the text is present. It appears at the end of page 760.”


On average, I will buy one or two programming books per month. The choice is usually based on whatever happened to pique my interest that month. Only a handful get read cover-to-cover each year. The rest I will either give up on because of disappointment in the content or I will skim from time to time if I think it has something interesting or useful to tell me.
I’ve also learned to screen books based on publisher. All other things being equal, I will usually go for an Addison-Wesley or O’Reilly book. I won’t even consider Wrox books anymore.


“I won’t belabor my recommended reading list, as I’ve kept it proudly the same for years.”

How sad is that? That says that the book industry is dead - that nothing worth reading is being produced any more, that only “the giants” of the past are worth reading.

I call BS on that. How 'bout 37signals “Getting Real”? GREAT book, even as I didn’t agree with all of it. Completely changed my mind about a few “truths” I’ve held dear for decades. Because the good books challenge you as they teach you.

And as for classics, you missed “Systemantics”, now known as “The Systems Bible” in its third edition. While not about programming per se, every programmer and analyst and project manager and program sponsor on the planet should read it. Period.


I laughed when I saw Basic Computer Games on your shelf there: I can’t get rid of a href="http://steelwhitetable.org/2004/05/20/games-basically/"my edition/a, either. A classic, in its own way (in addition to the others you listed).


This seems a good place to ask… can anyone suggest a good C# 3.5 (asp) book?

My experience up to this point has mainly been with VB.net 1.1.


I can’t imagine that one can do programming without reading. Be it reading code or reading books. The great thing about books is, they simple work. You can get them with you whererver you want, and you can read them while sitting or lie about. They do not need any currency just enough light. My usual way to get into a new area, is looking up and buying one or more books about it. Then I read it, I know I’ll hardly understand anything but it’s to get into it. Then I start looking for example and implementing things from it. After a time I get back to it an I see that more and more things from the books fall into place.

You just can not get an oversight from the “cut paster” camp. This is just “programming by accident” ;-(

I’d bet programmers really serious about their job, do read books and the do spend a lot of money on them.



The great thing about books is their inherent random-access nature; open a book and you can easily choose page 34 or instead page 759… close your eyes and pick any page… this is somewhat different with viewing on the PC and/or in .pdf form- it’s more about the experience too… Screens, even the best of them, can cause strain on the eyes- but I find this not to be the case with paper and ink.

What I also like about most of your selection of books is their transportation value- they’re of the size that you can physically carry them in your briefcase or even roll them up and stick them in your back pocket. It’s refreshing to know I own a few of the books you’ve got, purchased one book from your list just now that is a long time coming and super popular and got another one from your list put away on my wish list.


Tarkovski Programmer - not all design pattern books are boring. Check out the O’Reilly Head First Design Patterns. I’m not ashamed to say I actually loved this book and not just because of the semi-hot girl on the cover!

I tend to find I can pick up new languages a lot faster from playing with examples online, but I always come back to a solid reference text book when I’m up to intermediate level to get a deeper, more comprehensive understanding than bite-sized web articles can deliver.

And I would say that if you haven’t read code complete then you’re an incomplete coder. End of.


Most of the programming books suck. I mean they just rehash stuff that can be found in the documentation or MSDN. For example pick any book on ASP.NET. It’s the same stuff about the controls and how to use them. The web page life cycle… blah blah.

Why did you spend any time coauthoring a book which you don’t want people to buy? Wanted to see your name printed?

I stopped buying books long time ago. Now I just browse them at the bookstore and return them to the shelf (actually I leave them by the comfy couch :slight_smile: ). Yes I return them because they are not worth buying. Reminds me of music albums. An album might have one or two good songs and the rest is rubbish. Same with books. One or two good chapters… or a few good pages only!

I need good stimulating books. Books like the SQL puzzles by Joe Celko. Give me a puzzle and show me how different people solved it.

Effective C# was a good book. Tell me how NOT to do things.


The problem with your Business Analyst list:

in my corner of CubeLand (and still a few others), BAs get to specify the “file content”. Needless to say, it all ends up being spreadsheets stuffed into database. For such kinds of development, database smarts is needed. But it usually ends up with something like, “well, I know a little bit about SQL. Read Ambler”.


Here is a list of some books I’ve read in past few years that are more modern:

"Hackers and Painters"
Bunch of Ruby books from Pragmatic Programmers.
“Programming Erlang”


A quick once-through of your shelves shows that I’ve got six of the same books as you Jeff, which I feel kind of pleased about.

I don’t see how you can “love the craft” (ick) and not love reading technical books - I’m a technical book junkie, it’s only the price of the damn things that restrains me. And although the internet is an unrivalled resouce, there’s nothing like the heft of a real book.