Groovy Now Runs on Android
infoq.com
infoq.com
Groovy users around the world would appreciate being told first, instead of needing to attend a conference, or follow online rags like infoQ or people's personal blogs. And users subscribed to their developers list should be told in advance what's in the pipeline rather than being sprung with a change of plans this suddenly. We're all expecting Groovy 3 with the meta-object protocol rewrite and Java 8 lambda retrofit to come next, and now we find out on Hacker News of all places that Groovy 2.4 is next.
Some of them on a regular basis (Rust and Go people especially), others frequently pop up when their languages are discussed.
Most users on Hacker News use pseudonyms to better avoid the problems possible with having an online presence anywhere, though not all of us can be bothered. I suspect one regular commenter here, though, is associated with the Groovy/Grails developers at Pivotal.
Back in 2009, Grails was the big theme in many JUGs in Germany.
We even added Groovy support to our JSF internal SDK as a means to buy into the "has Groovy support" checklist.
Nowadays, if it wasn't for Graddle, I guess it would be just maintenance related projects. At least from what I see as JUG talks.
[1] http://groovy.329449.n5.nabble.com/You-can-now-write-Android...
Let's look at the main tutorial, Groovy in Action. The first edition came out in 2007. In 2009, they began work on the 2nd ed. IT IS STILL NOT AVAILABLE except as an "early release book" [1]
What mystifies me in all this is that Groovy is a language with a company behind it. How can they not have made more than such a feeble attempt to provide current docs?
"For all its strengths, however, Groovy suffered from several important drawbacks: the first and most painful was performance. It was slow — even for a dynamic language. The second limitation was that Groovy had no real design philosophy, save for a wide-ranging pragmatism. Any new feature that brightened enough eyes in the community got thrown in. So the language grew organically in ways that were hard to predict, rather than having a clear philosophy and a long-term trajectory. Finally, there was the problem that I believe most cramped its acceptance: limited documentation. There was one "Bible" and a pair of tutorials that rehashed the basics."
I wrote a lot of doco for Groovy over 5 yrs ago, but it has a tendency to break between different versions of Groovy. E.g. this doco http://groovy.codehaus.org/JN2515-Closures I wrote stopped working after Groovy 1.5 because the Groovy despots suddenly decided to disallow try statements without a catch or finally clause for Groovy 1.6. I had to go through all my code and add finally{} throughout it all. I put the root problem down to the despots not taking work on the Groovy language spec (JSR-241) seriously.
2.4 is a surprise to me. but a pleasant surprise and likely a release enabled by an unexpected breakthrough by Cedric Champeau.
Work towards running Groovy on Android has been going on for years, but with this new PR <https://github.com/groovy/groovy-core/pull/436> and the (unofficial?) announcement of Groovy 2.4 it looks like it's finally here.
There's an app in the Google Play store that you can try out: https://play.google.com/store/apps/details?id=me.champeau.gr...
I suggest you that keep an eye on the gr8conf web page and see the talk when is published.
A lot remains to be seen though - a lot of these Java alternatives turn out to be pretty flaky with weird unsupported corners of functionality, poor integration with IDEs, debuggers, etc., and when you have weird bugs you're in an extremely small isolated minority in trying to figure it out. There's a whole lot more to it than just getting it to compile / run.
So I do it for learning purposes, but for work we just use officially supported languages.
My most popular release is very event centric which means tons of anonymous inner classes polluting the code and making the entire thing quite aesthetically displeasing.
With Android Studio (IntellJ), Gradle and hopefully Groovy a lot of that noise and pain can be removed. I would be dubious moving over to that or Scala until the Big G approves but it speaks reams for the future.
I does sadden me that Groovy has fallen by the wayside these years (as primarily Groovy developer) given it is such a jump over Java. Scala looks great but for the type of apps (web/mobile) it still is rather verbose and slow to compile - not ideal for RAD imo. With Java 8 coming it's good to see they've taking Lambas over, even if it's a bit clunky.