If I'm going to make a leap from Java to another language (a significant undertaking for most organizations) on the JVM, then I'd opt for Scala over Groovy as Scala provides for more conceptual breadth and bang for the buck.
The compile-time static typed languages, such as Scala and Go, foster much of the benefit found in the dynamically typed languages, such as Groovy. Type inference, when done right, can greatly lower code clutter. Groovy++ just muddy's the water. It will tend to foster a split in Groovy such that some code will only ever work in the dynamic typed scripting language version. Also, I'd rather have features like code completion available all the time. As soon as you shift into regular Groovy, you're back to type ambiguity land. (The compile-time static typed language Go is so fast to compile and link that it's an even better "scripting" language than dynamic typed Groovy scripting language. The code and test-it cycle goes way faster with Go.) If I really want to wallow in something that's a radical departure from the static type languages of the ilk of Java or even Scala, then I'd opt to just dive into Clojure - as opposed to Groovy. Once again Clojure offers a great deal more conceptual breadth and bang for the buck. -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
