Want to be a good Java developer? What do you need to know? Java of course. That part is easy.
But unless you are a brand new Java developer, you probably aren't up to speed on the latest Java 7 features, the threading model and how bytecode works. Or maybe you haven't caught up with the new JVM languages (Clojure, Scala and Jython.) The book also covers dependency injection, TDD and the like.
With lots of code examples, and clear explanations/writing style, I really enjoyed reading the book - and learned a lot. And as technical proofer, I can tell you the quality of the book is good and the examples work! I'm looking forward to scribbling notes in a printed copy. And I know it isn't going to be a book that stays on my bookshelf in the office - too many people will want to borrow it. And I'm sure some of them will actually buy their own copy.
Disclosure: I will be receiving a copy of this book from the publisher in exchange for being the technical proofreader for the book.
This is an excellent book, but it's about far more than just being a Java developer (well-grounded or not).
The first half of the book (parts 1 and 2) looks at some of the new features of Java 7 and how to use them in some detail, as well as looking at some key development techniques (dependency injection, concurrency, performance etc). This is all good stuff, but is kind of what you'd expect from a decent Java 7 book anyway.
But the distinctive feature of this book is really the second half, where the authors take a detailed look at polyglot programming on the JVM, why it's a good thing to do, why it might not be right for you, different JVM languages and paradigms etc, including some rapid tutorials in Groovy, Scala and Clojure. This is the only book I've seen that seems to take seriously the distinction between "Java" the language (dealt with in parts 1 and 2) and "Java" the platform i.e. the JVM and alternative languages, which is what parts 3 and 4 are about. The book also provides a practical introduction to various aspects of building a polyglot project using test-driven development, build tools, RAD with Grails etc.
Personally, I think a better title might be "The Well-Grounded JVM Developer", but either way it's definitely worth getting hold of this book to get a look at the future of JVM development.
(Note: I received my copy free in a JavaRanch prize draw - thanks guys!)
Book Review Team wrote:. And I know it isn't going to be a book that stays on my bookshelf in the office - too many people will want to borrow it. And I'm sure some of them will actually buy their own copy.
It's been a few months and this has proved accurate. I've hardly gotten to see my copy of the book! It keeps getting borrowed.