Étant un programmeur Java, je n'ai pas vraiment de connaissances en Groovy, mais j'utilise beaucoup Groovy ces derniers temps pour étendre Maven (en utilisant GMaven). Jusqu'à présent, j'ai pu utiliser tout le code Java dont j'ai besoin en Groovy, avec le sucre Groovy ajouté (méthodes de métaclasses, plus d'opérateurs, fermetures). Ma connaissance de Groovy est loin d'être complète, mais je l'aime bien, surtout pour les scripts (je suis un peu prudent quant à l'utilisation d'un langage non statique typé dans un scénario d'entreprise, mais ce n'est pas le sujet ici).
Quoi qu'il en soit, la question est la suivante :
Chaque morceau de code Java valide est-il automatiquement un code Groovy valide ? (Je parle du code source, pas des classes compilées, je sais que Groovy peut interagir avec les classes Java). Ou y a-t-il des constructions Java qui sont illégales dans Groovy ? Peut-être un mot-clé Groovy réservé qui pourrait être utilisé comme un identifiant en Java, ou autre chose ? Ou est-ce que Groovy a été délibérément conçu pour être 100% compatible avec Java ?