Groovy is ...

An agile dynamic language for the Java Platform with many features that are inspired by languages like Python, Ruby and Smalltalk, making them available to Java developers using a Java-like syntax.
Developing web applications , writing shell scripts easily, writing concise, meaningful, test cases using Groovy's JUnit integration, or prototyping and producing real industrial strength applications have never been so concise and groovy.

Groovy works cleanly with all existing Java objects and libraries and compiles straight to Java bytecode in either application development or scripting mode.

A simple hello world script:

def name='World'; println "Hello $name!"

A more sophisticated version using Object Orientation:

class Greet {
  def name
  Greet(who) { name = who[0].toUpperCase() + who[1..-1] }
  def salute() { println "Hello $name!" }
}

g = new Greet('world') // create object
g.salute() // Output "Hello World!"

Leveraging existing Java libraries:

import org.apache.commons.lang.WordUtils

class Greeter extends Greet {
  Greeter(who) { name = WordUtils.capitalize(who) }
}

new Greeter('world').salute()

On the command line:

groovy -e "println 'Hello ' + args[0]" World

Documentation [more]

User Guide [more]

Advanced Topics [more]

Getting Started Guide [more]

Testing Guide [more]

Developer Guide [more]

Cookbook Examples [more]

Modules [more]

Enjoy making your code groovier !!!!

Latest news

If you wish to stay up-to-date with our vibrant community, you can learn more about:

And below, you will find the latest announcements: