Groovy
/GROO-vee/ · noun · Development · Origin: 2003
Definitions
A dynamic language for the JVM designed as a companion to Java, offering concise syntax, closures, and built-in support for working with XML, JSON, and databases. Groovy is best known as the language of Gradle build scripts and Jenkins pipeline definitions, making it ubiquitous in CI/CD even among developers who don't realize they're writing it.
In plain English: A scripting language that works with Java and is mainly encountered in build tools and continuous integration pipelines.
Example: Every developer who's written a Jenkinsfile has written Groovy — most of them just don't know it.
Origin Story
A groovy scripting language for the Java platform
James Strachan created Groovy in 2003, announcing it on his blog with the post: "I've been thinking about a new language for the JVM." He wanted a dynamically typed scripting language that felt natural to Java developers.
The name **Groovy** was chosen for its informal, fun connotation -- programming in Groovy was meant to feel pleasant and hip, a contrast to Java's sometimes verbose enterprise style. Strachan later famously said he might not have created Groovy if he had known about Scala.
Groovy found its killer application in **Gradle**, the build system that replaced Maven for Android development and many JVM projects. It's also the scripting language of **Jenkins** pipelines, making it essential to CI/CD infrastructure even if developers don't realize they're writing Groovy.
Coined by: James Strachan
Context: Independent project, 2003
Fun fact: Strachan wrote in 2009: 'I can honestly say if someone had shown me the Programming in Scala book back in 2003, I'd probably have never created Groovy.' Despite this, Groovy continues to thrive through Gradle and Jenkins.