This year I've read (or reread) and enjoyed three 'programming' books that I thought were worth pointing out. They didn't pertain directly to any programming language, so they might not be on a lot of people's "I've gotta read this" lists, but myabe they should be. One of them is is from 1999 and the other two have roots that go back well before that.
The first one is The Pragmatic Programmer, by Dave Thomas and Andy Hunt. Even if you've read it before, this is a book well worth (re)reading. Many of the seventy tips (on a convenient Quick Reference Card even), color a lot of today's Ruby community: #11 Don't Repeat Yourself; #17 Program Close to the Problem Domain; #29 Write Code That Writes Code; #46 Test Your Estimates; #47 Refactor Early, Refactor Often; and #62 Test Early, Test Often, Test Automatically; and #66 Find Bugs Once should all be familiar to Ruby programmers. Some of their tips haven't gotten as much play: #4 Don't Live With Broken Windows; #36 Mimiize Coupling Between Modules, and #65 Test State Coverage, Not Code Coverage all deserve more respect and more application.
If you don't own this, get it onto your gift list (or just buy yourself a copy). If you do own it, buy a copy for someone else then go and reread your copy.
Software Conflict 2.0 (published in 2006) is a new edition of Software Conflict: Essays on the art and Science of Software Engineering (pubished in 1990). For this edition, Robert Glass (the original author) wrote new, retrospective essays looking back on each chapter of the original book. The new edition is a great 'jumping of point' for a reader unfamiliar with the classics of the field. Bob covers a huge amount of ground, peering under rocks and behind bushes as he goes. He avoids the meaningless detail of specific architectures, methodologies, and languages and instead deals with the questions that underly them.
Software Creativity 2.0 (another one by Robert Glass), was a late addition to my reading stack this year, but one I couldn't really pass up. I've been entertained and educated as I've read through the updated essays that make up this new edition. I still think the third chapter is my favorite, and especially "In defense of Ad-Hocracy", but there are a number of other great pieces in there.
What books are you reading? And what are you getting out of them?