This week, the first two chapters of my book Making Java Groovy became available through the Manning Early Access Program (MEAP). I thought I’d explain a bit more about the purpose of the book here, while potential readers still have a chance to affect it.
Also, this post is an attempt to answer the question, “Making Java Groovy? WT(Heck) is that all about? Is that supposed to be funny?”
Uh, sort of. The title is a bit of a pun, though I’m not sure how well it translates to non-native English speakers. The idea behind the book is that Groovy is not intended to replace Java, but rather to enhance it wherever it helps the most. This book is about Java and Groovy integration. Java books talk about Java. Groovy books talk about Groovy. This book is about blending them together in productive ways. So yeah, the attempt at humor is kind of lame, but it does have a purpose.
Besides, when all the reviewers recoil in horror at the name, I’ll probably change it again. This book has been through at least two other name changes already, but more about that in a later post.
I’m assuming that most of my target audience has been using Java for years, or at least has a codebase of Java to manage or maintain, so they’re not in a position to throw everything out and start over. The good news is that with Groovy you don’t have to. Groovy has always been about making Java better, rather than replacing it.
Let me just give you the real theme now:
Java is good for tools, libraries, and infrastructure. Groovy is good for everything else.
For example, if you’re a Java developer working on a web application and you can choose to use Grails, wonderful, more power to you. If you are using Spring MVC, or Spring Web Flow, or Spring Roo, or Tapestry, or Wicket, or (sigh) JSF, or Seam, or Struts 2, or (whoa) Struts 1, or even (shudder) raw servlets and JSP’s, hey, no problem. You can still add Groovy in ways that will make your life easier.
That’s the bottom line. With Groovy, you don’t have to lose anything, and you gain a great deal. I know I have. I use Groovy all the time, and I rarely use it alone. I hope, through this book, to show you ways you can use it too, without having to throw anything away and start over.