Many of its features are inspired by languages like Python, Smalltalk and Ruby, making them available to developers using a Java-like syntax.
Groovy can be used for developing web applications , writing shell scripts, writing concise, meaningful, test cases using Groovy's JUnit integration, or prototyping and producing real industrial strength applications.
Groovy works cleanly with all existing Java objects and libraries and compiles straight to Java bytecode in either application development or scripting mode.
Here are some key features of "Groovy":
- Builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk
- Adds modern programming features to Java
- Supports Domain Specific Languages
- Increases developer productivity
- Simplifies testing
- Compiles straight to Java bytecode
- Document limitation of normal map-style constructor use when using @Immutable
- DOMCategory: text() doesn't get node value if it is a CDATA section
- Overloaded operator with return type
- Null arg call not ambiguouseven though it should be
- GroovyDoc doesn't escape angle brackets in @code and @literal tags
- JavaStubGenerator clears instance initializers
- Using @CompileStatic on code that uses spread operator on a Set results in compilation error
- @CompileStatic on class using with(Closure) leads to compilation error.