Groovy is interesting that it uses the Java run-time. The loose typing and run-time compilation puts it more on par with other scripting languages than Java/C++.
In the past I have used ECMA script or Rhino if I needed a language macro capability. Now Groovy is my preferred choice.