Groovy brings you the best of both worlds: a flexible, highly productive, agile, dynamic language that runs on the rich framework of the Java Platform. Groovy preserves the Java semantics and extends the JDK to give you true dynamic language capabilities. Programming Groovy 2 will help you, the experienced Java developer, learn and take advantage of the latest version of this rich dynamic language. You'll go from the basics of Groovy to the latest advances in the language, including options for type checking, tail-call and memoization optimizations, compile time metaprogramming, and fluent interfaces to create DSLs.
You don't have to leave the rich Java Platform to take advantage of Groovy. Groovy preserves Java's semantics and extends the JDK, so programming in Groovy feels like the Java language has been augmented; it's like working with a lighter, more elegant Java. If you're an experienced Java developer who wants to learn how Groovy works, you'll find exactly what you need in this book.
You'll start with the fundamentals of programming in Groovy and how it works with Java, and then you'll explore advanced concepts such as unit testing with mock objects, using Builders, working with databases and XML, and creating DSLs. You'll master Groovy's powerful yet complex run-time and compile-time metaprogramming features.
Much has evolved in the Groovy language since the publication of the first edition of Programming Groovy. Programming Groovy 2 will help you learn and apply Groovy's new features. Creating DSLs is easier now, and Groovy's already-powerful metaprogramming facilities have improved even more. You'll see how to work with closures, including tail call optimization and memoization. The book also covers Groovy's new static compilation feature.
Whether you're learning the basics of the language or interested in getting proficient with the new features, Programming Groovy 2 has you covered.
What You Need
To work on the examples in the book you need Groovy 2.0.5 and Java JDK 5 or higher.
Dr. Venkat Subramaniam, founder of Agile Developer, Inc., has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. He is a frequent invited speaker at international software conferences and user groups. He's author of .NET Gotchas (O'Reilly), coauthor of the 2007 Jolt Productivity award-winning book Practices of an Agile Developer (Pragmatic Bookshelf), and author of Programming Groovy (Pragmatic Bookshelf).
Mr. Subramaniam's grasp of the English language seems substantially more complete than many of his fellow countrymen and doesn't get in the way (Which is a true accomplishment for a book by a non native English speaker). What really shines however is his enthusiasm and excitement around dynamic programming languages and Groovy in particular, which is priceless.
While there are occasionally turns of phrase which read awkwardly, none of them that I've found thus far obscure meaning.
This is definitely a worthy choice if you're looking to get your head around the Groovy platform.
Groovy is an interesting language and this book makes a good introduction to it. I borrowed it from a coworker and I'm glad I did.
While there are some things about groovy that make me cringe there are some other very interesting concepts in it. Venkat does an excellent job of describing what's going on and has clear, small examples that demonstrate the concepts.
A good starting book on Groovy for people familiar with Java programming language. Used it heavily on creating a presentation at work, and will still be using for the current project.
This is the second book I've read from Venkat Subramaniam and I should say that I'm enjoying a lot. Venkat is, from what I read, a very knowledgeable guy who's have a very specific talent to teach abstract and advanced concepts. The first book I read from Venkat was the "Practices of an Agile Developer", like this first one the approx of Venkat is equally pragmatic and full of wise advices. I trully recomend this book for someone that is new to the groovy language. It should, however, be noticed that the approx here presented is not target for the young and not experience developper. The main purpose is the groovy language, but the main aim of the language is to solve some advanced problems which consist in equally advanced topics of software development.
As I started reading this book and couldn't put it down, I am thoroughly impressed and do not regret my decision. Metaprogramming is covered in a good great depth. This is kind of practical book,explained thoroughly with nice working examples.It actually helped me in understanding Groovy from scratch to depth and becoming productive.I would strongly recommend it to anyone who is interested in Groovy.
Takes you deep into Groovy, quickly going through the fundamentals to explore dynamic and meta programming, builders and domain specific languages. It works well as an augment to the online docs to explain core and advanced features as one progresses into those topics.
Really good introduction to Groovy language. Well written (Venkat, you know :) ) and full of useful information. I wasn't tired or bored while reading any chapter (like it was in "Scala in Action"). If you want to learn Groovy, this book is a good choice.
A good guide for Java programmers, who would like a comparative analysis of how to do things in Groovy as compared to Java. However, if you are new to programming and are planning to start up with Groovy, this is not a book for you.