Groovy In Action is a perfect guide for Java developer’s wishing to move into the land of dynamic typing, closures, and scripting. Writing code in Groovy really does help bring the fun of programming back. Compared to Java, Groovy is easier to write, read, and test which means less time coding and more time focusing on problem solving aspects of a project. Dierk Konig and company do a great job of introducing the features of Groovy to programmers of all backgrounds, not just Java.
With plenty of code samples and hands-on examples, you will be writing Groovy like a pro in no time. Swing builders will have you converting your Java Swing applications to Groovy and never looking back. For those Java developers who never got around to experimenting with Ruby on Rails, Grails is a great framework for creating web applications. Handling XML is easier and web services and SOAP message handling is cleaner. Design Patterns that you use in Java often require much less code or are rendered obsolete by Groovy’s language features.
I would urge any Java developer to purchase this book and give Groovy a try. My only real complaint about this book is that it could have been 2 books because some material is skimmed over pretty quickly. I would have liked to have seen more discussion about how the byte code that Groovy generates looks and works. Groovy uses the concept of a MetaClass and delegates method calls at runtime via an invokeMethod method. Meta programming is touched on, but an entire chapter (or more) could have been dedicated to the inner workings of Groovy’s implementation. Also some runtime comparisons of Groovy versus Ruby or Java would have been nice. Some people will be weary to adopt Groovy until they are confident that performance will not be an issue. This guide discusses some of the early performance problems of Groovy versus Ruby, while this test offers a completely conflicting report. Also some more examples of design patterns would have been a real bonus. Maybe Freeman, Freeman, Sierra and Bates could be convinced to write a book about Groovy Design Patterns!
Here is a link to a Groovy Power Point presentation that I gave this fall.