is an agile dynamic language for the Java Platform with many features that inspired languages like Python, Ruby and Smalltalk, making them available to Java developers using a Java-like syntax. works cleanly with all existing Java objects and libraries and compiles straight to Java bytecode!
!etoile_foncee.gif!is ideally designed for the following purposes :

Developing web applications in a quick, concise and fun way. The [Grails|http://grails.codehaus.org]demonstrates Groovy's capability in this area.* Bringing the power of a scripting language to the JVM with seamless integration with the Java Platform* Writing concise, meaningful, test cases using Groovy's JUnit integration.* Prototyping and producing real industrial strength applications* Writing shell scripts easily

can be used as a dynamically or staticly typed language and can either be compiled or interpreted

introduces powerful additional features to the JVM such as:

Language conceptual enhancements

Support for closures - re-usable blocks of code

Native syntax for lists and maps

Support the Gof Builder pattern via the notion of builders

Syntax level regex operators and escape sequences

Native JavaBean support

Operator overloading to simplify working with datatypes Collections and Maps

Polymorphic iteration and autoboxing

Extension of Java Standard Library through the GDK

TBD

In addition, provides useful standard features to enhance developer productivity such as: