Будучи программистом на Java, у меня действительно нет фона Groovy, но в последнее время я использую Groovy для расширения Maven (используя GMaven). До сих пор я мог использовать весь код Java, который мне нужен, в Groovy с добавленным сахаром Groovy (методы метакласса, больше операторов, закрытие). Мои знания о Groovy далеки от завершения, но мне это нравится, особенно для целей Scripting (я немного осторожен в использовании нестатического типизированного языка в корпоративном сценарии, но это не тема здесь).
В любом случае, вопрос:
Является ли каждый бит допустимого кода Java автоматически действительным Groovy code? (я говорю об Исходном коде, а не о компилируемых классах, я знаю, что Groovy может взаимодействовать с Java-классами.) Или существуют ли Java-конструкции, которые являются незаконными в Groovy? Возможно, зарезервированное ключевое слово Groovy, которое может использоваться как идентификатор в Java или что-то еще? Или Groovy намеренно был разработан для совместимости с Java на 100%?