5 ms·
Props to what Guillaume has accomplished, but the original raison d'etre for Groovy existing has largely been supplanted by the rise of JRuby and Scala. When Gr
by revscat 12y ago
Props to what Guillaume has accomplished, but the original raison d'etre for Groovy existing has largely been supplanted by the rise of JRuby and Scala. When Groovy was initially developed JRuby was (arguably) not yet mature enough for production, so developers wanting to use Rails under the JVM were basically out of luck. Grails was developed in response to this need.
Now that JRuby is more mature (and, as of today, the only one of the two with official sponsorship) the need for Grails is greatly diminished. The only other major development effort that utilizes Groovy is Gradle, and that has been met with mixed levels of enthusiasm. Add to this that Java itself has made some strides with adding functional(-ish) features to the language, and the benefits that Groovy brings to the table are not as pronounced as they once were.
And for devs who are wanting something that is more purely functional there is Scala.
Given this I'm not particularly surprised to see Pivotal's decision here. Groovy has always struggled for more widespread relevance, and while it is sad to see this happen, it's also far from unreasonable.
- emsy 12y agoI really like to know why you were downvoted, because I made the same observations you did and basically came to the same conclusion. I'd add the really bad IDE support. I've met some developers that said the only thing that kept them from leaving Groovy was that Grails and Spock are really great and worth the trouble. Other than that I see Groovy's future more as a glue language and as a language for tools. Which I'd find very unfortunate because I like Groovy's simplicity & flexibility as a JVM language.
- cowardlydragon 12y agoGroovy IDE support is now really good in the groovy on grails tool suite, which is the main thing that I fear will disappear with this decision. Most refactors, pretty good line-by-line debugging, etc. Edit: GGTS is A spring-specific eclipse distribution..
- rufugee 12y agoIt's also extremely good in Intellij (at least, in Ultimate...which is what I'm using daily).
- emsy 12y agoI tried to install the Groovy plugins on a default Eclipse installation and never got the same result I got on the bloated default GGTS installation. But even with GGTS I had a mediocre experience at best. I tried the commercial version of IntelliJ two years ago and it was okay, but still lacking compared to the Java autocompletition. I'm really happy that the situation is better now. As I use Groovy more of a host for DSLs (like Gradle or Spock), I hope tooling for this areas will improve. In my eyes, this is Groovy's sweet spot.
- rufugee 12y agoAuto-completion is excellent now. I'd suggest you give it another try.
- michaelcampbell 12y ago> I'd add the really bad IDE support. I find IntelliJ support quite excellent.
- cowardlydragon 12y agoNOPE. Ruby doesn't offer one of Groovy's killer features: optional static typing. And Scala... far too alien and complex. There was some talk out there by one of the original Scala dudes talking about how there are something like 30 different fundamental types in Scala. Groovy offers the most accessible functional programming paradigms to Java programmers. It is a sweet spot.
- revscat 12y agoWell, I actually like Groovy, and was trying to keep my personal opinion out of my original post. The fact remains, though, that whatever strengths Groovy has as a language it has struggled to gain significant traction.
- mgkimsal 12y agoIME, the strengths were primarily that it was Java+. However, the Java-heavy organizations that might most benefit from it tended to also be the most averse to change. Changing "that much" for "only" incremental change wasn't worth the risk for risk-averse companies. The companies that weren't risk averse tended to try it, but also go outside the JVM altogether when appropriate. So... in a way it was too good at just being a more useful Java, but that wasn't enough for Java-heavy shops.
- coldtea 12y ago>The fact remains, though, that whatever strengths Groovy has as a language it has struggled to gain significant traction Compared to what? JRuby? Groovy's adoption, from the number's I've seen, walks all over JRuby's. It's just that the Java world is not fashionable (besides say Clojure) and you don't often hear from the people who use Groovy in their enterprise projects, whereas 10 startups using the language-du-jour can create the impression that it's the hot shit on HN.
- pjmlp 12y agoNo, but you do get presentations at local JUG and those have been pretty empty of Groovy content in the last years.
- vorg 12y ago> Given this I'm not particularly surprised to see Pivotal's decision here Pivotal's decision is likely based not only on what you see, but on what else they see but you can't. They can see trends and revenues before the rest of us can, like former SpringSource CEO Rod Johnson who jumped ship over to Scala. These are some concerns with Groovy I've blogged and commented about a lot over the past few years: * the failure of static typing to take hold in any way. Groovy's a dynamically-typed scripting language for Grails, Gradle build scripts, and Java class manipulation. Virtually no-one uses Groovy to build systems, and even Gradle's codebase is virtually all Java. Groovy's a good scripting language for Java, like bash for Linux, and the project management should have stuck to their knitting and made it better instead of diversifying into static typing and now Android. * their obsession with popularity rankings. Tiobe, Stack Overflow, and Github are gamed. The download numbers are fabricated. This goes far beyond what other programming language communities get up to. A year ago Groovy was number #18 in Tiobe (Oct 2003) but now they're not even in the top 50, and in April 2011, Groovy dropped from #25 to #65 in a single month, all this because of someone manipulating search engine results for some short-term marketing. * the constant fight for control over the product. The original post is to a person's personal blog instead of one on Codehaus or Pivotal. This started happening a year ago, when that person also started soliciting for subscribers to a personal weekly mailout instead of supporting the community mailing list. No-one knows who controls the new Groovy website being promoted. One of the 5 despots in the official Codehaus despotry is trying to take over. This has been going on for the entire lifetime of Groovy when its creator was pushed out. * the lack of documentation or any language standard designed to make people dependent on consulting and conferences. In the Groovy 1.x days, they even appeared to be changing things to shake off other independent documentation efforts or addon software like Groovy++. When the present management took over, they kept the JSR standard inactive to deliberately prevent anyone building another implementation. I'm only talking about what happened to Groovy after its creator James Strachan left the project, not before. As for Grails, I don't know much about it except that Groovy's direction seems to be dictated by it. And Gradle seems to be on course for dropping Groovy as their sole scripting language if you read between the lines on their website.
- sytringy05 12y ago+1 - most of grails is also written in java, drives me crazy when trying to debug some of the day to day weirdness you get with grails.. It's good to get a view of whats going on within the community here, I've only ever seen it from the outside looking in. That said I love groovy as a language. A friend and I wrote a fairly complicated currency breakdown algorithm (lots of corner cases and BigDecimals) once in groovy in about 3 hours, was about 40 lines of code. The production codebase was java so after porting it was something like 300+ lines of unintelligble masses of .divide() .multiply() .compareTo() and so on.
- mcv 12y agoI agree that there are a lot of languages that do Groovyish things, and that does make it easier to do without Groovy, but still none of them hits that sweet spot quite the way Groovy does. Groovy is still what I'd like the next version of Java to be.