Вы знаете, по поводу Groovy может выйти интересная полемика. По моему убеждению, шаблонизация на базе рефлексии дает оптимальный компромис между «статической» и «динамической» программными парадигмами: еще (почти) все под контролем, и при этом полно свободы. Тогда как еще маленький шаг влево — и при иллюзии абсолютной свободы ты уже на самом деле крепко повязан тотальной зависимостью от тестового харнеса (harness), потому как других средств контроля целостности кода у тебя не остается.
Вышло долгожданное обновление Velocity: шаблонить стало немного проще