Aspect-oriented extensions to the Java language - that is, extensions which allow some degree of separation of crosscutting concerns (concerns which would otherwise cut across classes and/or methods).
Groovy is an object-oriented programming language for the Java platform. It is an alternative to the standard Java language. It uses a Java-like syntax which is dynamically compiled to standard JVM bytecodes, which work seamlessly with other Java code and libraries. The Groovy compiler can be used to emit Java bytecode to use in any Java project, or can be used dynamically as a scripting language.
Groovy has features from Python, Ruby, and Smalltalk. Many such features are not in standard Java: static typing and dynamic typing; native syntax for lists, maps, arrays, and regular expressions; closures; operator overloading.
It is undergoing standardization through the Java Community Process under JSR 241.