Everybody who is long enough in Java world has probably heard about Kent Beck. He is well known for his work on eXtreme Programming and JUnit testing tool together with Erich Gamma.
Recently he published his new book called “Implementation Patterns”.
After seeing book on InfoQ I decided to buy it and give it a try.
Few weeks later and hours taken away from sleep time, the book was finished. Result: Huge disappointment!
There is still a review on InfoQ that wanders around in my head:
“This is a book that is useful for both junior as well as senior developers – each will come away with something different. Those new to software development will see development through the eyes of one of the most talented developers today. Others with more experience will be able to reflect on why they do things the way they do – practices take on a different meaning by focusing on why they are done.”
Sorry but this is just not true! This book is a great source for juniors but a complete waste of time for seniors. It more looks like some high-level Java tutorial than anything like book about patterns. Either book title is wrong or review is wrong or Kent has missed the point.
Don’t get me wrong, I have a big appreciation for Kent Beck and I am glad when I see a new book about Java. But some things need to be named in the correct way. I don’t like spending money on something that is described as a great source for all developers and later to find out that it is not.
My opinion about books that have “patterns” in their title is that they should be an everyday bible that every developer should have on their table. And when you need to solve some problems, you take the “patterns” book and sneak inside.
E.g. in “Implementation patterns” you have a pattern called Method Visibility where you can find a description what public/private/protected/package visibility means. Does it really deserve to be called a pattern?
As I said, I don’t mind these kind of books, but don’t pack it in fancy clothes and put it on a senior developer’s department in the store. Just call it “Things about Java that you really need to know before you start serious programming”. I would never buy such a book for myself but would gladly recommend it to my junior colleagues joining a company.