I shot through the first hundred pages of Martin Fowler’s classic Refactoring today. I can see why it’s still considered a classic now. Fowler’s style is very readable for a software development book and his code examples are simple steps well explained. He peppers the explanations with lots of real world anecdotes from projects. And probably most importantly he’s not afraid to explain that he didn’t start out as an expert in things like object oriented programming:
“It is hard to see what causes the technique to be less effective, even harmful. Ten years ago it was like that with objects. If someone asked me not to use objects, it was hard to answer. It wasn’t that I didn’t think objects had limitations–I’m to cynical for that. It was just that I didn’t know what those limitations were, although I knew what the benefits were.” –pg. 62
It also reinforces the notion that many of the thought leaders in the agile world are former Smalltalkers. At some point maybe I’ll take a look at Squeak, but Ruby is my current new language to learn.