1. Will Groovy replace Java in the future?
That's a bit like asking if frosting will replace cake in the future... (wink)
Groovy quite literally would not exist without the Java platform. It augments Java, not replaces it. That is what I find so refreshing about it. 100% of my legacy code is already Groovy-compliant.
Later, John Todd wrote:
In my very humble experience, Groovy (or any other JVM-compatible language) is hard to sell in Java workshops.
I can't argue with John's experience, but I find that statement odd. Groovy _is_ Java. I've had hard times convincing conservative Java shops to look at Ruby on Rails because it is a different language, requiring different IDEs, different deployment servers, different build processes, etc. But Groovy is a single JAR added to the classpath. Everything else about your development environment stays the same.
Now if John's experience is working with conservative organizations, I'm sure that he's had the same problem encouraging them to upgrade to Java5, or use Spring, or Hibernate.
If your organization prefers strongly-typed languages, then Groovy might not be an easy sell at all. Perhaps Scala?