Here is the book's structure:
- Beginning Groovy - this part is dedicated to Groovy language features, especially from Java perspective. Reading this part I was building the parallel to Ruby trying to compare these languages. The main difference which I found it's only syntax "sugar". I.e. conceptually these two language are very similar.
- Using Groovy - this is a pragmatic part where were highlighted the next topics: Groovy GDK, XML Processing, working with DB, working with Java.
- Dynamic features (MOPing Groovy) - here were highlighted two main metaprogramming approaches: run-time and compile-time metaprogramming. Very interesting part. For me Groovy metaprogramming facilities are much clear comparison to Ruby metaprogramming.
- Using Metaprogramming - it's pragmatic part where were highlighted the applications for Groovy metaprogramming features. It's very important to note that Groovy contains many pre-bundled classes/modules which are really nice samples of metaprogramming Groovy's features.
I highly recommend this book to everybody who is interested in Groovy language. This book highlights Groovy dynamic features.