I've been using Groovy extensively to script and automate inside of Jenkins, and hoo boy it's actually kinda nice.
My absolute favorite thing is being able to do something like:
someIntegerCollection = someStringCollection*.toInteger()
I also find the use of closures for things like collection filtering to be quite nice: canadianUsers = someUserCollection.findAll { user ->
user.countryCode = "CA"
}
The equivalent in Python is a little more cumbersome and overly verbose: canadianUsers = [user for user in someUserCollection if user.countrycode = "CA"]
I'll still be writing things in Python whenever I can, but when I do write in Groovy there's a lot of nice stuff I get to have.
Re:JDK 15
by Erlich_Bachman on Wednesday September 16, 2020 @02:40AM
(#24490129)
And if you need it, static typing is one annotation away... This is such an underestimated feature. While prototyping it might be easier to use dynamic typing, but once a project becomes complex and has more people working on it etc, - you might want to switch it to statically-typed. Groovy simplifies this immensely and minimizes the amount of code that needs to rewritten.
Can be very simple and elegant, like a better Python, on the JVM.
But also very rigorous, as a Java superset, with powerful features like mixing dynamic and static compilation in the same class.
Or even deep, with run-time metaprogramming and compile-time AST manipulation capabilities (giving tools like Gradle, Spock...).
And you have of course multiline interpolated Strings. And so much.