Groovy is also almost a superset of java. They removed a few syntactical contstructs which make it incompatible but most of them are trivial to tranform to groovy.
> almost a superset of java. They removed a few syntactical contstructs
Unfortunately "almost" doesn't cut it with programming languages. And they changed, not "removed", syntax. Because Apache Groovy has those (many, not "few") incompatibilities with Java (e.g. meaning of == , public visibility as default, closures instead of lambdas, etc), it might as well be a different language.