I was introduced to programming with Kernighan and Ritchie's C book. I loved reading that book. It's a classic because it's so concise, easy to read, and practical. A lot of my interest in the field came from just this one book.
UML Distilled is the OO design analog of K&R C. I tore through this book in about a week. It's actually a fun read which is an extreme rarity for anything computer science related. The author did a good job of cutting the fat off a very fat-rich specification. And I think the author quickly turns design via UML into a collaborative effort and not an automata (MDA? Really?).
Reviews of reviewers:
"Didn't follow the spec" Fowler dedicated the first chapter explaining his views on UML's role in the design process. It's bleedingly obvious that he sees UML as a "sketching" tool. If you want an MDA book, go buy one, and good luck.
"Condescending attitude" I didn't get that. I saw a neutral tone throughout. A 10-year fad in IT books is to get cutesy with the material (see the Dummies series). This spills out even to the more serious topics and publishers. There is no cutesy in this book, just fast paced information. Maybe that's mistaken for condescending.
"Couldn't keep up" First, Fowler seems to break his examples up between Java and C#. And his programming examples hold some finer nuances of each. Second, I think OOP and OOD jargon is rich and diverse. Students will get overwhelmed quickly. So I don't think this is the right book to learn OOP. But on the other hand, if you still can't approach this book after a year or two of real world OO programming, something is wrong.
For those serious developers out there, here's a link to get a copy for yourself.
2017: The Year of Golang
2 months ago