A few months ago, I was approached by a couple of authors to review their book, Java by Comparison. Once I had gotten over being flattered that they would want my opinion, I then swore I would be diligent and not let this go by the wayside. Well, I did. And for that, I apologize to the authors.
Ok, so now lets get to the review. First off, I enjoyed the book immensely. As a craftsman, I appreciate the fact that the authors approach programming as more than just slapping some code together. The feeling I get is that we are all here because of a shared love of our craft. The language is very natural. I feel more like we are sharing a conversation about good ideas around java programming rather than I'm being lectured at.
The code suggestions, sort of a "write this, not that" approach, are very very good. One of the things I really like about this approach is that, as a visual learner, I can get a sense for how the recommended approaches improve the code, beyond just intellectually knowing that this is so. I do very much suggest reading this in the paper version or on a device that honors the formatting of the book. I read it on my Kindle Oasis, and the comparison was much harder to see.
Java by Comparison is a book I will definitely use with apprentices, and I imagine by the time they reach journeyman it will be well dogeared and much loved. For those who are already journeymen, I still recommend it as a good reminder of some of those principles we tend to take for granted. Needless to say, a master craftsman would choose to have a book like this available both as a reminder, and as a tool to help mentor others.
Java by Comparison is available on the Pragmatic Bookshelf: https://pragprog.com/book/javacomp/java-by-comparison