Является ли синтаксис Groovy точным надмножеством синтаксиса Java?

Как Java-программист, у меня нет опыта работы с Groovy, но в последнее время я часто использую Groovy для расширения Maven (используя GMaven). До сих пор я мог использовать весь необходимый мне код Java в Groovy с добавленным сахаром Groovy (методы метакласса, дополнительные операторы, замыкания). Мои знания Groovy далеко не полные, но мне он нравится, особенно для целей создания сценариев (я немного осторожен в использовании нестатических типизированных языков в корпоративном сценарии, но это не тема здесь).

В любом случае , вопрос в том:

Каждый бит допустимого кода Java автоматически является допустимым кодом Groovy? (Я говорю об исходном коде, а не о скомпилированных классах, я знаю, что Groovy может взаимодействовать с классами Java.) Или есть конструкции Java, которые недопустимы в Groovy ? Возможно, зарезервированное ключевое слово Groovy, которое можно было бы использовать в качестве идентификатора в Java, или что-то еще? Или Groovy намеренно разрабатывался так, чтобы на 100% исходный код был совместим с Java?

31
задан Sean Patrick Floyd 24 November 2010 в 23:17
поделиться