Abstract
This paper describes the history of the Groovy programming language. At the time of Groovy’s inception, Java was a dominant programming language with a wealth of useful libraries. Despite this, it was perceived by some to be evolving slowing and to have shortcomings for scripting, rapid prototyping and when trying to write minimalistic code. Other languages seemed to be innovating faster than Java and, while overcoming some of Java’s shortcomings, used syntax that was less familiar to Java developers. Integration with Java libraries was also non-optimal.
Groovy was created as a complementary language to Java—its dynamic counterpart. It would look and feel like Java but focus on extensibility and rapid innovation. Groovy would borrow ideas from dynamic languages like Ruby, Python and Smalltalk where needed to provide compelling JVM solutions for some of Java’s shortcomings.
Groovy supported innovation through its runtime and compile-time metaprogramming capabilities. It supported simple operator overloading, had a flexible grammar and was extensible. These characteristics made it suitable for growing the language to have new commands (verbs) and properties (nouns) specific to a particular domain, a so called Domain Specific Language (DSL). While still intrinsically linked with Java, over time Groovy has evolved from a niche dynamic scripting language into a compelling mainstream language.
After many years as a principally dynamically-typed language, a static nature was added to Groovy. Code could be statically type checked or when dynamic features weren’t needed, they could be turned off entirely for Java-like performance. A number of nuances to the static nature came about to support the style of coding used by Groovy developers.
Many choices made by Groovy in its design, later appeared in other languages (Swift, C#, Kotlin, Ceylon, PHP, Ruby, Coffeescript, Scala, Frege, TypeScript and Java itself). This includes Groovy’s dangling closure, Groovy builders, null-safe navigation, the Elvis operator, ranges, the spaceship operator, and flow typing. For most languages, we don’t know to what extent Groovy played a part in their choices. We do know that Kotlin took inspiration from Groovy’s dangling closures, builder concept, default it parameter for closures, templates and interpolated strings, null-safe navigation and the Elvis operator.
The leadership, governance and sponsorship arrangements of Groovy have evolved over time, but Groovy has always been a successful highly collaborative open source project driven more by the needs of the community than by a vision of a particular company or person.
- Tiago Antao. 2008. Chloroquine malaria treatment and Groovy (DSL tactics in Groovy 2). Archived at http://web.archive.org/web/20080302023038/https://tiago.org/ps/2008/02/27/chloroquine-malaria-treatment-andgroovy-dsl-tactics-in-groovy-2/Google Scholar
- Tiago Antao, Ian Hastings, and Peter McBurney. 2008. Ronald: A Domain-Specific Language to Study the Interactions Between Malaria Infections and Drug Treatments. Las Vegas, USA (Jan.), 747–752. Proceedings of the 2008 International Conference on Bioinformatics and Computational Biology, BIOCOMP 2008 (Jan.).Google Scholar
- ASF 2020a. The Apache Software Foundation (website). non-archival https://www.apache.org/ (also at Internet Archive 10 March 2020 11:41:12 ).Google Scholar
- ASF 2020b. The Apache Software Foundation Briefing: The Apache Way. non-archival https://www.apache.org/ theapacheway/ (also at Internet Archive 18 Feb. 2020 08:55:52 ).Google Scholar
- ASF 2020c. The Apache Software Foundation: Corporate Governance Overview. non-archival https://www.apache.org/ foundation/governance/ (also at Internet Archive 18 Feb. 2020 12:12:40 ).Google Scholar
- Beanshell 2020. The Beanshell scripting language (website). non-archival https://beanshell.github.io/ (also at Internet Archive 8 March 2020 11:21:39 ).Google Scholar
- Joshua Bloch. 2017. Effective Java (3 ed.). Addison-Wesley, Boston, MA, USA.Google Scholar
- BSF 2020. Apache Commons Bean Scripting Framework (website). non-archival https://commons.apache.org/proper/ commons-bsf/ (also at Internet Archive 18 Feb. 2020 06:52:52 ).Google Scholar
- Muffy Calder, Mario Kolberg, Evan H. Magill, and Stephan Reiff-Marganiec. 2003. Feature interaction: a critical review and considered forecast. Computer Networks (Amsterdam, Netherlands: 1999) 41, 1 (15 Jan.), 115–141.Google Scholar
- Codehaus. 2015. The Codehaus governance manifesto. Archived at https://web.archive.org/web/20151201153729/http: //www.codehaus.org/history/manifesto/Google Scholar
- CommonsMath 2020a. Apache Commons Math: Java mathematics library (website). non-archival http://commons.apache. org/proper/commons-math/ (also at Internet Archive 18 Feb. 2020 11:03:36 ).Google Scholar
- CommonsMath 2020b. Real Matrix class usage (Apache Commons Math documentation). non-archival http://commons. apache.org/proper/commons-math/userguide/linear.html#a3.2_Real_matrices (retrieved 16 Feb. 2020; also at Internet Archive 21 Aug. 2019 14:04:05 ).Google Scholar
- Conservancy. 2020. Software Freedom Conservancy (website). non-archival https://sfconservancy.org/ (also at Internet Archive 5 March 2020 20:05:19 ).Google Scholar
- Devcon3 2007. Groovy Developer Conference 3, 29th and 30th Jan 2007, Paris, France (meeting minutes). Archived at https://web.archive.org/web/20150521060610/https://docs.codehaus.org/display/GroovyJSR/GDC+3+reportGoogle Scholar
- Devcon4 2007. Groovy Developer Conference 4, 15th and 16th Oct 2007, London, UK (meeting minutes). Archived at https://web.archive.org/web/20150521060611/https://docs.codehaus.org/display/GroovyJSR/GDC4+DiscussionsGoogle Scholar
- Devcon5 2009. Groovy Developer Conference 5, 11-15th May 2009, Paris, France (meeting minutes). Archived at https://web.archive.org/web/20150520235115/https://docs.codehaus.org/display/GroovyJSR/Groovy+DevCon+5Google Scholar
- Devcon6 2011. Groovy Developer Conference 6, 16th and 20th May 2011, Copenhagen, Denmark (meeting minutes). Archived at https://web.archive.org/web/20150521060613/http://docs.codehaus.org/display/GroovyJSR/Groovy+DevCon+6Google Scholar
- Devcon7 2012. Groovy Developer Conference 7, 6th and 7th Jun 2012, Copenhagen, Denmark (meeting minutes). Archived at https://web.archive.org/web/20150521060612/https://docs.codehaus.org/display/GroovyJSR/Groovy+DevCon+7Google Scholar
- Devcon8 2013. Groovy Developer Conference 8, 21st and 22nd May 2013, Patris, France (meeting minutes). non-archival https://docs.google.com/document/d/1mGxfLR8gNm5v-HTGztozlDBmDiR70yZYdHZnCA1yiE8/ edit?usp=sharing Archived at https://web.archive.org/web/20200301020012/https://docs.google.com/document/d/ 1mGxfLR8gNm5v-HTGztozlDBmDiR70yZYdHZnCA1yiE8/editGoogle Scholar
- Devcon9 2013. Groovy Developer Conference 9, 10th and 11th Dec 2013, (meeting minutes). non-archival https: //docs.google.com/document/u/1/d/16tNNNvW4Ihxb-6Cw_JD4IIcukqccAPui_wC-nf4UAxA/pub (also at Internet Archive 29 Feb. 2020 14:22:11 ).Google Scholar
- Devcon10 2014. Groovy Developer Conference 10, 5th Jun 2014, Copenhagen, Denmark. Meeting minutes. nonarchival https://docs.google.com/document/d/18axejowbqSZuWF-06bEzx63FqhygmNHUuKx65i14EWU/edit?pli=1# heading=h.pd7xybm87okp Archived at https://web.archive.org/web/20200229143311/https://docs.google.com/document/ d/18axejowbqSZuWF-06bEzx63FqhygmNHUuKx65i14EWU/edit?pli=1%23heading%3Dh.pd7xybm87okpGoogle Scholar
- Eclipse. 2020. Eclipse Foundation (website). non-archival https://eclipse.org Archived at https://web.archive.org/web/ 20200307215618/https://www.eclipse.org/Google Scholar
- Frege. 2013. Frege: Haskell-like language for the JVM (website). non-archival https://github.com/Frege/frege (also at Internet Archive 7 Jan. 2020 09:31:58 ).Google Scholar
- Richard P. Gabriel. 1994. Lisp: Good News Bad News How to Win Big. AI Expert 6, 31–39.Google Scholar
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.Google Scholar
Digital Library
- GEP-6 2010. GEP: NIO.2 Support for Groovy. Apache Groovy website. non-archival https://groovy.apache.org/wiki/GEP-6.html (also at Internet Archive 13 March 2020 13:20:14 ).Google Scholar
- GEP-8 2011. GEP: Static type checking. Apache Groovy website. non-archival https://groovy.apache.org/wiki/GEP-8.html (also at Internet Archive 10 March 2020 11:26:13 ).Google Scholar
- GEP-10 2011. GEP: Static compilation. Apache Groovy website. non-archival https://groovy.apache.org/wiki/GEP-10.html (also at Internet Archive 13 March 2020 12:30:59 ).Google Scholar
- GEP-12 2013. GEP: SAM coercion. Apache Groovy website. non-archival https://groovy.apache.org/wiki/GEP-12.html (also at Internet Archive 13 March 2020 13:39:28 ).Google Scholar
- GEPs. 2020. List of Groovy Enhancement Proposals (website). non-archival http://groovy.apache.org/wiki/geps.html (also at Internet Archive 12 March 2020 14:57:50 ).Google Scholar
- Jeremy Gibbons. 2010. Design Patterns as Higher-Order Datatype-Generic Programs. 36. non-archival http://www.comlab. ox.ac.uk/jeremy.gibbons/publications/hodgp-journal.pdf Archived at https://web.archive.org/web/20170813032800/http: //www.cs.ox.ac.uk/jeremy.gibbons/publications/hodgp-journal.pdf Submitted for publication; revised version of the WGP2006 paper.Google Scholar
- Goodtimes 2017. Goodtimes: java.time extensions library for Groovy (website). non-archival https://github.com/bdkosher/ goodtimes (also at Internet Archive 13 June 2018 00:40:49 ).Google Scholar
- Gradle 2020. Gradle build tool (website). non-archival https://gradle.org/ (also at Internet Archive 7 March 2020 09:59:16 ).Google Scholar
- Grengine 2020. Grengine embedded Groovy engine (website). non-archival http://grengine.ch Archived at https: //web.archive.org/web/20190111170918/https://grengine.ch/Google Scholar
- Griffon 2020. Griffon: desktop application development platform for the JVM (website). non-archival http://griffonframework.org/ (also at Internet Archive 27 Aug. 2019 19:39:46 ).Google Scholar
- Groovy 2020. Groovy documentation. Apache Groovy project website. non-archival https://groovy-lang.org/ documentation.html (also at Internet Archive 14 Feb. 2020 01:59:18 ).Google Scholar
- GROOVY-1884 2008. GEP: Adding Bound Properties to GroovyBeans. Apache Groovy issue tracker. non-archival https://issues.apache.org/jira/browse/GROOVY-1884 (also at Internet Archive 4 March 2020 15:16:33 ).Google Scholar
- GROOVY-3425 2009. New feature: Power Assertions. Apache Groovy issue tracker. non-archival https://issues.apache. org/jira/browse/GROOVY-3425 (also at Internet Archive 28 Feb. 2020 06:09:48 ).Google Scholar
- GROOVY-8329 2009. New feature: Consider statically typed/compiled as default for Groovy 3.0. Apache Groovy issue tracker. non-archival https://issues.apache.org/jira/browse/GROOVY-8329 (also at Internet Archive 4 March 2020 15:20:08 ).Google Scholar
- InfoQ. 2015. The Demise of Open Source Hosting Providers Codehaus and Google Code. non-archival https://www.infoq. com/news/2015/03/codehaus-google-code (also at Internet Archive 6 April 2017 09:25:54 ).Google Scholar
- Jenkins 2020a. Grails web application framework (website). non-archival https://grails.org/ (also at Internet Archive 27 Feb. 2020 19:20:13 ).Google Scholar
- Jenkins 2020b. Jenkins build automation server (website). non-archival https://jenkins.io/ (also at Internet Archive 8 March 2020 20:58:10 ).Google Scholar
- JEP 118 2015. JEP 118: Access to Parameter Names at Runtime. non-archival http://openjdk.java.net/jeps/118 (also at Internet Archive 25 July 2019 12:03:12 ).Google Scholar
- JEP 120 2015. JEP 120: Repeating Annotations. non-archival http://openjdk.java.net/jeps/120 (also at Internet Archive 14 Aug. 2019 03:50:59 ).Google Scholar
- JSR 223 2006. JSR 223: Scripting for the Java™Platform. non-archival https://www.jcp.org/en/jsr/detail?id=223 Archived at https://web.archive.org/web/20200103154145/https://jcp.org/en/jsr/detail?id=223Google Scholar
- JSR 241 2004. JSR 241: The Groovy Programming Language. non-archival https://www.jcp.org/en/jsr/detail?id=241 (also at Internet Archive 5 Dec. 2019 17:11:17 ).Google Scholar
- JSR 308 2014. JSR 308: Annotations on Java Types. non-archival https://jcp.org/en/jsr/detail?id=308 (also at Internet Archive 9 Aug. 2019 08:15:51 ).Google Scholar
- JSR 310 2014. JSR 310: Date and Time API. non-archival https://www.jcp.org/en/jsr/detail?id=310 (also at Internet Archive 19 Oct. 2019 04:25:09 ).Google Scholar
- Michael Kimberlin. 2010. Reducing Boilerplate Code with Project Lombok. non-archival https://objectcomputing.com/ resources/publications/sett/january-2010-reducing-boilerplate-code-with-project-lombok (also at Internet Archive 27 Feb. 2020 12:16:16 ).Google Scholar
- Dierk König, Paul King, Guillaume Laforge, Hamlet D’Arcy, Cédric Champeau, Erik Pragt, and Jon Skeet. 2015. Groovy in Action (2nd ed.). Manning Publications Co., Greenwich, CT, USA.Google Scholar
- Guillaume Laforge. 2007a. Groovy 1.0 is there! Groovy org.codehaus.groovy.jsr mailing list. 2 Jan. 2007. non-archival http://markmail.org/message/qspd5ufq35v7yk3a (also at Internet Archive 11 March 2020 22:38:24 ).Google Scholar
- Guillaume Laforge. 2007b. Re: RFC: New operator for default assignment. Groovy org.codehaus.groovy.user mailing list. 26 June 2007. non-archival https://markmail.org/message/o4cmsyq5g3w4clcf (also at Internet Archive 27 Feb. 2020 07:30:55 ). I’m sure we’ll call it the Elvis operator!Google Scholar
- Guillaume Laforge. 2007c. Re: Stupid Groovy 2 suggestion? Groovy org.codehaus.groovy.user mailing list. 22 Jan. 2007. non-archival https://markmail.org/message/4jx2qxdfqs3ue4ep (also at Internet Archive 27 Feb. 2020 02:41:09 ). I wouldn’t want Groovy to become too perlish with many cryptic weird operators.Google Scholar
- Guillaume Laforge. 2008. A Domain-Specific Language for unit manipulations. non-archival https://dzone.com/articles/ domain-specific-language-unit(also at Internet Archive 18 July 2019 01:39:38 ).Google Scholar
- Dustin Marx. 2015. Codehaus: The Once Great House of Code Has Fallen. non-archival http://marxsoftware.blogspot. com/2015/03/codehaus-has-fallen.html (also at Internet Archive 21 July 2019 05:37:04 ).Google Scholar
- Bob McWhirter. 2003. Re: My thoughts. Groovy org.codehaus.groovy.dev mailing list. 29 Aug. 2003. non-archival http://markmail.org/message/ymblbcomgutzwf3e (also at Internet Archive 1 June 2015 03:15:54 ). Right now, pretty much Strachan’n’you guys are the idea rats working to design the language to be the most useful that it can, while I have fun being the mindless implementation monkey. :)Google Scholar
- Bertrand Meyer. 1997. Object-oriented Software Construction (2nd ed.). Prentice Hall International (May).Google Scholar
Digital Library
- Micronaut 2020. Micronaut microservice framework (website). non-archival https://micronaut.io/ (also at Internet Archive 13 Jan. 2020 17:49:01 ).Google Scholar
- Microsoft. 2020. Type Providers. F# documentation. non-archival https://docs.microsoft.com/en-us/dotnet/fsharp/ tutorials/type-providers/ (also at Internet Archive 22 Oct. 2019 20:18:30 ).Google Scholar
- Jesper Steen Møller. 2015. Antlr4 Groovy parser. Groovy org.apache.groovy.dev mailing list. 5 June 2015. non-archival https://groovy.markmail.org/thread/vsba74vytnv7lpsi (also at Internet Archive 10 March 2020 07:44:36 ).Google Scholar
- NatureServe. 2020. NatureServe explorer. An online encyclopedia of life. non-archival http://explorer.natureserve.org/ (also at Internet Archive 14 Feb. 2020 12:29:17 ).Google Scholar
- Nice 2020. Nice programming language (website). non-archival http://nice.sourceforge.net/ (also at Internet Archive 17 Feb. 2020 22:28:34 ).Google Scholar
- Peter Niederwieser. 2009. Power assertions have landed in trunk! Groovy org.codehaus.groovy.user mailing list. 25 May 2009. non-archival http://markmail.org/message/7ykgv3zwedqmjvdh (also at Internet Archive 28 Feb. 2020 06:18:50 ).Google Scholar
- Peter Niederwieser et al. 2020. Spock Framework (website). non-archival http://spockframework.org/ (also at Internet Archive 13 Feb. 2020 06:49:55 ).Google Scholar
- Peter Norvig. 1998. Design Patterns in Dynamic Languages. non-archival http://norvig.com/design-patterns/ (also at Internet Archive 1 Feb. 2020 10:33:40 ).Google Scholar
- Martin Odersky. 2006. Pimp my Library (weblog). non-archival https://www.artima.com/weblogs/viewpost.jsp?thread= 179766 (also at Internet Archive 29 June 2019 16:56:39 ).Google Scholar
- OpenJDK. 2012. Will JDK 8 support SAM that is Abstract Class? Lambda Development mailing list. non-archival http://openjdk.5641.n7.nabble.com/Will-JDK-8-support-SAM-that-is-Abstract-Class-td103357.html (also at Internet Archive 27 Feb. 2020 12:10:35 ).Google Scholar
- Christian Prehofer. 1997. From Inheritance to Feature Interaction or Composing Monads. In Informatik ’97 Informatik als Innovationsmotor, Matthias Jarke, Klaus Pasedach, and Klaus Pohl (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 562–571.Google Scholar
- Jeremy Rayner. 2007. Groovy 1.0 released! (blog post). non-archival http://javanicus.com/blog2/items/204-index.html (also at Internet Archive 1 Aug. 2016 14:22:55 ).Google Scholar
- RedMonk. 2020. RedMonk Index for January 2020 (website). non-archival https://redmonk.com/sogrady/2020/02/28/ language-rankings-1-20/ (also at Internet Archive 29 Feb. 2020 18:27:48 ).Google Scholar
- Graeme Rocher. 2006. Making DGM extensible / Extensible MetaClass. Groovy org.codehaus.groovy.dev mailing list. 26 Sept. 2006. non-archival https://markmail.org/message/hqnkatalanqerxot (also at Internet Archive 28 Feb. 2020 02:24:33 ).Google Scholar
- Graeme Rocher. 2007. Grails is a breath of fresh air for Java developers. IndicThreads interview. non-archival http://www.indicthreads.com/1433/grails-is-a-breath-of-fresh-air-for-java-developers/ (also at Internet Archive 18 Dec. 2017 02:33:04 ).Google Scholar
- Jeremy Siek and Walid Taha. 2007. Gradual Typing for Objects. In ECOOP 2007 – Object-Oriented Programming, Erik Ernst (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 2–27.Google Scholar
- SoapUI 2020. SoapUI: test automation framework for SOAP, REST and more (website). non-archival https://www.soapui. org/ (also at Internet Archive 29 Feb. 2020 07:40:05 ).Google Scholar
- Spring 2020. Spring Integration: Dynamic language support. Spring Framework documentation. non-archival https: //docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/dynamic-language.html (also at Internet Archive 16 April 2019 14:53:27 ).Google Scholar
- Guy L. Steele, Jr. 1998. Growing a Language. In Addendum to the 1998 Proceedings of the Conference on Object-oriented Programming, Systems, Languages, and Applications (Addendum) (Vancouver, British Columbia, Canada) (OOPSLA ’98 Addendum). ACM, New York, NY, USA, 0.01–A1. Google Scholar
Digital Library
- Andre Steingress. 2020. GContracts: design by contract library for Groovy (website). non-archival https://github.com/ andresteingress/gcontracts (also at Internet Archive 10 June 2018 23:29:08 ). https://web.archive.org/web/20160308052827/ http://gcontracts.org/Google Scholar
- James Strachan. 2003a. current closest languages are. . . . Groovy org.codehaus.groovy.dev mailing list. 1 Sept. 2003. non-archival https://markmail.org/message/hne7dyg3j6sftrfp (also at Internet Archive 8 March 2020 06:28:35 ).Google Scholar
- James Strachan. 2003b. Groovy - the birth of a new dynamic language for the Java platform. Archived at Internet Archive: https://web.archive.org/web/20031205215854/http://radio.weblogs.com:80/0112098/2003/08/29.htmlGoogle Scholar
- James Strachan. 2003c. I’ve added some example Groovy code... Groovy org.codehaus.groovy.dev mailing list. 29 Aug. 2003. non-archival https://markmail.org/message/kjr7awwpoxo7umqf (also at Internet Archive 3 June 2015 13:43:55 ). I thought we might as well be TDD with Groovy—writing tests for Groovy itself in Groovy to get started.Google Scholar
- James Strachan. 2003d. Re: class syntax. Groovy org.codehaus.groovy.dev mailing list. 12 Sept. 2003. non-archival https://markmail.org/message/zita5yauvqgsirgp (also at Internet Archive 27 Feb. 2020 14:50:55 ).Google Scholar
- James Strachan. 2003e. thought for the day - use of implicit ’it’ variable in closures. Groovy org.codehaus.groovy.dev mailing list. 28 Oct. 2003. non-archival http://markmail.org/message/anmqimy5daxylqkc (also at Internet Archive 27 Feb. 2020 14:28:05 ).Google Scholar
- Sun 1997. JavaBeans™API specification. non-archival https://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-frspec-oth-JSpec/ Archived at https://web.archive.org/web/20181018105850/http://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-fr-spec-oth-JSpecGoogle Scholar
- TIOBE. 2019. TIOBE Index for October 2019 (website). ttps://web.archive.org/web/20191025230404/https://www.tiobe. com/tiobe-index/ (retrieved 25 Oct. 2019) Archived at Internet Archive. Groovy index history: non-archival https: //www.tiobe.com/tiobe-index/groovy/Google Scholar
- Alex Tkachman. 2011. Groovypp prototyping static compilation extension for Groovy (website). non-archival https: //code.google.com/archive/p/groovypptest/ (also at Internet Archive 6 March 2020 11:11:37 ).Google Scholar
- Wikipedia. 2018a. Flow sensitive typing. non-archival https://en.wikipedia.org/wiki/Flow-sensitive_typing (also at Internet Archive 18 March 2019 17:14:45 ).Google Scholar
- Wikipedia 2018b. Safe navigation operator. non-archival https://en.wikipedia.org/wiki/Safe_navigation_operator (also at Internet Archive 20 Feb. 2020 23:27:57 ).Google Scholar
- Wikipedia. 2020. Feature interaction problem. non-archival https://en.wikipedia.org/wiki/Feature_interaction_problem (also at Internet Archive 11 Oct. 2016 08:18:08 ).Google Scholar
- Russel Winder. 2011. Static compilation for Groovy! Groovy org.codehaus.groovy.user mailing list. 11 Nov. 2011. nonarchival https://markmail.org/message/g627wfm5au3emher (also at Internet Archive 10 March 2020 10:54:05 ). I don’t want Groovy to be a failed Java 8 wannabee. I want a dynamic language to use as a complement to Java.Google Scholar
- Andrey Breslav. 2020. Private Communication. Feb. 2020. The author discussed Groovy’s influence on Kotlin with Andrey. Reviewed and confirmed.Google Scholar
- Hans Dockter. 2019. Private Communication. The author discussed Groovy’s impact on Gradle with Hans. Reviewed and confirmed.Google Scholar
- Graeme Rocher. 2019. Private Communication. The author discussed Groovy’s impact on Grails and Micronaut with Graeme. Reviewed and confirmed.Google Scholar
Index Terms
A history of the Groovy programming language
Recommendations
Scientific programming at the Java platform with a combination of a scripting interpreter with the compiled Groovy engine
AIC'08: Proceedings of the 8th conference on Applied informatics and communicationsThe jLab environment extends the potential of Java for scientific computing. It provides a Matlab/Scilab like scripting language that is executed by an interpreter implemented in the Java language. The scripting language supports the basic programming ...






Comments