6 ms·
What's the current state of Groovy? Has it seen much adoption, compared to something like Jython or JRuby? Does it have any commonly-acknowledged flaws? I look
by oddthink 14y ago
What's the current state of Groovy? Has it seen much adoption, compared to something like Jython or JRuby? Does it have any commonly-acknowledged flaws?
I looked at it years ago, around when it first came out, and it gave me a negative impression as being sloppily done and a bit amateurish, so I went with Jython. My impression is that they cleaned up their act and saw decent adoption, but I don't know any more than that. It seems eclipsed these days in favor of Clojure and Scala.
- jbarmash 14y agoYeah, the adoption is pretty good, definitely compared to Jython / JRuby. Multiple conferences dedicated primarily to groovy / grails (gr8conf US coming up on Minneapolis on 30-31). I think Grails is driving a lot of adoption, but I also see it popping up in vendor products that need a scripting language or DSL that integrates with Java easily. Neo4J and Cloudify (Gigaspaces product) come to mind as recent examples.
- zmmmmm 14y agoYep. A lot of groovy adoption is "under the radar" precisely because it blends so seamlessly with Java. It may just be a build script or used in unit tests, but it is popping up all over the place.
- steven_h 14y agoBanner, the software quite a few universities use for student record management and other things, has migrated from PL/SQL to a Groovy on Grails system in their next version so that will push a bunch of people to learn Groovy.
- mping 14y agoFor me, Groovy always have this feeling that's quite the opposite of Scala: it seems that it was a language that wasn't very thoroughly implemented and has all of these bolt-on stuff on top of it. Scala seems more solid to me because of the academic background (to think that a type system can be turing complete..), and it seems that Clojure found a place on its own. In general terms, one of the flaws for me is that I can't quite decide what's the direction that Groovy's going. For example, the 2.0v is introducion static features, but AFAIK I never noticed any interest on static features (of course the groovy team should have much more to say on this). Other thing that I didn't like was the stack traces when an exception ocurred: due to the nature of the MOP, the stack traces were always very full of 'garbage' (this was some time ago, I don't know what's the story now). Another example is on the link: if you want to enable invokedynamic, you have to switch some flag on the compiler. If you compare to jRuby (which I know is not directly comparable but as an end user I really don't care) it's alread turned on if you are using the proper jRuby and JDK versions. OTOH, I think Groovy nailed the Java interop spot on (flawless Java invocation/interop, integration with Ant, maven, etc) which is probably one of the good reasons to use Groovy. If you consider SO to give a reasonable feedback on popularity, here's the nr of tagged questions: * scala 549 * jruby 342 * groovy 599 * clojure 120 * ruby (for comparison) 7,115 Having this said, I still think that Grails is one of the best web frameworks for the JVM, although I would like it more if the plugins would have better maintenance by the community.
- soc88 14y agoThis is my impression, too. I think Groovy's "static" features are a reaction to a lot of developers realizing that "statically typed" doesn't necessarily mean that the language has to be as cumbersome and verbose as Java. Imho, there is just no reason for building/using/preferring a dynamically typed language, except when the language designer lacks the necessary abilities to build a sound and coherent type system. Scala has none of Groovy's drawbacks, a lot of benefits combined with a clear roadmap -- and most importantly: The determination to not only get something working, but also to get it right. Meanwhile, the language gets more consistent and polished with every release.
- 14y ago
- soc88 14y agoAs far as I know they still lack even a language spec.
- gr8ful 14y agoYAM (Yet another myth). It is in the JCP.
- soc88 14y agoYou mean the dormant one from 2004 which was never finished? http://jcp.org/en/jsr/detail?id=241 http://jcp.org/en/jsr/detail?id=241 Or the "Groovy specification" which is almost completely empty? http://groovy.codehaus.org/jsr/spec/ http://groovy.codehaus.org/jsr/spec/
- vorg 14y agoYou created a Hacker News account just to comment on this? Was it this comment (http://groovy.329449.n5.nabble.com/ANN-Groovy-2-0-is-released-tt5710401.html#a5710428 http://groovy.329449.n5.nabble.com/ANN-Groovy-2-0-is-release...) on the Groovy mailing list urging people to "spread the word" at Hacker News?
- jbarmash 14y agoIn terms of some of the organizations I know that are using it: IEEE, NetFlix uses it for many internal apps, Target, one of the largest hedge funds in NY area, LiquidNet. I think there are less publisized stories about it because it is more focused on enterprise, which naturally is less open about what they use. However, the community is great, there are a ton of plugins, and VMWare has done a good job continuing to support it as parts of SpringSource ecosystem. It's the same way that there are so many Spring / Java apps being written out there (including in startups), but they rarely come up on HN as opposed to some of the newer kids on the block, ala node.js or rails.
- lkrubner 14y agoThis is very wrong: "It seems eclipsed these days in favor of Clojure and Scala." Your view of reality is being warped by the Hacker News bubble. Consider the results of Google Trend: http://www.google.com/trends/?q=grails,+clojure&ctab=0&geo=all&date=all http://www.google.com/trends/?q=grails,+clojure&ctab=0&#... Mind you, I'm comparing Clojure, the whole language, to Grails, which is just one framework. While it is true that most Groovy work involves Grails, there is also some Groovy work that does not, so the results of this comparison, if anything, understate the gap between Groovy and Clojure.
- vorg 14y agoVirtually all Groovy work involved Grails. There's no other reason to adopt Groovy. If you need standalone scripts in an IDE, it's easier to use, say, Eclipse Xtend (http://www.infoq.com/news/2012/06/xtend-release-10 http://www.infoq.com/news/2012/06/xtend-release-10)
- glaforge 14y agoNo, Groovy is used in many other places than Grails. One can think of the Gradle build automation tool (http://gradle.org/ http://gradle.org/), for instance, which uses Groovy as a DSL. But actually, one of the very big use cases for Groovy outside of Grails is as an embedded DSL, for business-oriented languages, to further customize the business rules of an application, for configuring it, etc. Groovy's used in many sectors: healthcare, insurance, banking, travel, scientific simulations, biomedical, etc.
- vorg 14y ago> No, Groovy is used in many other places than Grails. One can think of the Gradle build automation tool (http://gradle.org/ http://gradle.org/), for instance, which uses Groovy as a DSL. Gradle's the only provable specific example you gave of Groovy being used as a DSL. But is Gradle used for much more than building Groovy, Grails, and Griffon?
- 14y ago