Apache Groovy

Groovy
Groovy Logo
ParadigmMulti-paradigm: object-oriented, imperative, functional, aspect-oriented, scripting
Designed byJames Strachan
DeveloperGuillaume Laforge (PMC Chair)
Jochen Theodorou (Tech Lead)
Paul King
Cedric Champeau
First appeared2003; 21 years ago (2003)
Stable release4.0.24[1] Edit this on Wikidata (5 November 2024; 19 days ago (5 November 2024)) [±]
Preview release
4.0.0-beta-1 / September 6, 2021; 3 years ago (2021-09-06)[2]
Typing disciplineDynamic, static, strong, duck
PlatformJava SE
LicenseApache License 2.0
Filename extensions.groovy, .gvy, .gy, .gsh[3]
Websitegroovy-lang.org Edit this at Wikidata
Major implementations
Gradle, Grails
Influenced by
Java, Python, Ruby, Smalltalk
Influenced
Kotlin

Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform. It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk. It can be used as both a programming language and a scripting language for the Java Platform, is compiled to Java virtual machine (JVM) bytecode, and interoperates seamlessly with other Java code and libraries. Groovy uses a curly-bracket syntax similar to Java's. Groovy supports closures, multiline strings, and expressions embedded in strings. Much of Groovy's power lies in its AST transformations, triggered through annotations.

Groovy 1.0 was released on January 2, 2007, and Groovy 2.0 in July, 2012. Since version 2, Groovy can be compiled statically, offering type inference and performance near that of Java.[4][5] Groovy 2.4 was the last major release under Pivotal Software's sponsorship which ended in March 2015.[6] Groovy has since changed its governance structure to a Project Management Committee in the Apache Software Foundation.[7]

  1. ^ "Release 4.0.24". 5 November 2024. Retrieved 22 November 2024.
  2. ^ "Releases - apache/groovy". Retrieved 2020-04-09 – via GitHub.
  3. ^ "Groovy Goodness: Default Groovy Script File Extensions".
  4. ^ "Groovy 2.0 Performance compared to Java". 25 Aug 2012.
  5. ^ "Java vs Groovy2.0 vs Scala Simple Performance Test". 10 Jul 2012. Archived from the original on 10 December 2012. Retrieved 7 October 2012.
  6. ^ "Groovy 2.4 And Grails 3.0 To Be Last Major Releases Under Pivotal Sponsorship". 19 Jan 2015.
  7. ^ "Groovy joins Apache Incubator". 11 Mar 2015.