Our team introduced Groovy into the main sales quoting system used at the company I work for. The framework itself is mostly in Java, but in all places we support Groovy as a first-class choice (joint compilation mode) and allow developers to pick either language based on preference and appropriate tool. We use Groovy almost exclusively in the static compile mode, for performance reasons. The code implementing the REST APIs and consuming SOAP and REST APIs are the places where we use dynamic Groovy, because dynamic Groovy works so much better in webservices. To be honest though, since Java 8, we have been using Groovy less because the streams API gives us something close to one of the main benefits we got from Groovy (through findAll, collect, take, etc.). Now Groovy is mostly syntax sugar for us with Java 8+ lambdas around. Java performs better, debugs better, compiles faster, works better with hotswapping than Groovy does, so we tend to favor Java now unless we really itch for Groovy features in a file. In our main project we have over 1100 .groovy source files. We have one other project mostly using Groovy, and a few others using Groovy in a lesser manner. And we use Groovy extensively in any utility/script/one-off type scenario (i.e. if I need to write a script to do some JMX operations or parse log files or script some SSH operations, etc.). We are still using Groovy 2.4 but I am very curious to see if Groovy 3 and/or indy on modern JVM will help considerably with the performance reason to prefer Java. In particular we use a very high amount of closures, which still have a penalty to coerce into functional interfaces even in static groovy 2.4 and in GroovyObject constructor, but supposedly in Groovy 3 this might be better as I hear closures can be replaced with lambdas. Also besides the performance, lambdas fare much better for hotswap than Closures (Groovy will "renumber" all of the Closures if you add one, which destroys hotswap).
Jason Sensitivity: Internal -----Original Message----- From: MG <mg...@arscreat.com> Sent: Friday, June 26, 2020 6:24 PM To: users@groovy.apache.org Subject: What projects use Groovy as its main development language ? A quick survey: Who on this mailing list works on or knows of a project where Groovy is the main language of development, i.e. it is not used as "just" a script or DSL language in addition to e.g. Java ? If possible name the company/country/project and give some impression of the size of the project (lines of code, # of people working on it, etc), timeframe of development, and whether it is os or commercial (or both) G-) Thanks in advance, cheers, mg