It's Groovy still, like, slower than Ruby? That was always the big attraction with Scala - all the fun stuff, but less than a 5% performance penalty over vanilla java.
It's faster than it was a couple years ago, but doesn't win all the benchmarks out there, no.
That said, I've got Grails apps running in production just fine, and to whatever degree noticeable speed is an issue, it's almost always down to database indexing.
As Hamlet said, I don't think execution speed is the primary reason people aren't using Groovy. Personally, I think all the "alt.java" languages are fighting for attention from the few people left in the Java/JVM arena who are truly interested in exploring new ideas/techniques. Many Java devs who were interested in getting better years ago left for other platforms, (and many of those people will likely jump to new platforms every few years out of curiosity more than anything else).
You're assuming that the only people interested in these languages are only people locked in to Java-the-platform. That defiantly isn't the case, especially for Scala and Clojure, as they offer combinations of features and language traits that aren't really available elsewhere.
Is speed /really/ the reason people don't use Groovy?
If that were true, then I think JRuby be more popular. It is faster yet remains dynamic. There are various efforts to make Groovy fast, but the ones I have seen require you to turn off some of the metaprogramming capabilities.
True here. Groovy has truly pathological performance in some areas.
I wrote a web service that read and processed XML documents. They were large, but not enormous... Couple hundred kilobytes, usually. My first cut, using Groovy and its built in XML DSL, took up to 15 seconds to process a single document. Rewriting in Java/StAX, it was a couple hundred milliseconds.
From then on, my MO was to write my code in Groovy and then rewrite anything that got called more than a few times per request/run in Java. Groovy's fine for glue code, but its performance was a real barrier to regular use.
As for JRuby, I suspect it's because no matter how good JRuby is, it's a second-class citizen to "real" ruby in the Ruby ecosystem, and to built-for-the-JVM languages on the JVM side. It's a great product, but it does have a few impedance mismatches coming from either side.
Groovy is still pretty slow, but last I checked the Groovy++ compiler can take unchanged Groovy code and compile it so that it is often as fast as Java.
unchanged? Are they doing massiv typeanalisis? What are the tradeoffs? This seams to "to good to be true". Everybody else that tries to staticlly compling dynamic languages has more or less failed.
That said, I've got Grails apps running in production just fine, and to whatever degree noticeable speed is an issue, it's almost always down to database indexing.
As Hamlet said, I don't think execution speed is the primary reason people aren't using Groovy. Personally, I think all the "alt.java" languages are fighting for attention from the few people left in the Java/JVM arena who are truly interested in exploring new ideas/techniques. Many Java devs who were interested in getting better years ago left for other platforms, (and many of those people will likely jump to new platforms every few years out of curiosity more than anything else).