Несмотря на значительную популярность языка программирования Java, не все в нем, как оказалось, устраивает программистов. Иначе как объяснить тот факт, что в 2003 году Джеймс Стречен взялся за реализацию Java-подобного языка Groovy? Более того, новый язык может работать на платформе Java с JVM и генерировать байт-код. Таким образом, Groovy является дополнением к Java, причем Java-программисты могут в своих программах использовать, по желанию, конструкции того или другого языка – как в данном случае удобнее.
Сам автор перед выходом релиза в 2007 году ушел из проекта, заметив с сожалением, что не знал о существовании более перспективного языка Scala, иначе появление Groovy вообще было бы под вопросом. Тем не менее, альтернативный язык оказался очень удобен во многих случаях: многие его конструкции (в том числе дополненные) позволяли реализовывать проекты более понятно, компактно и прозрачно. Некоторые средства IDE (к примеру, NetBeans 7.0) могут использовать возможности языка прямо из коробки, в других же случаях среду приходится настраивать самостоятельно. Интересно, что компилятор Groovy с легкостью, «как родной», может исполнять и Java-код. В язык были внесены некоторые серьезные дополнения: перегрузка операций, замыкания, новые элементы синтаксиса для регулярных выражений, списков и различных видов массивов. Как вы знаете, в Java существует лишь динамическая типизация, а Groovy добавил в нее статическую. Даже примитивные типы данных стали объектами, будучи завернутыми в интерфейсы классов и метаклассы.
Разработчики отмечают, что даже сейчас программы на Groovy могут вести себя непредсказуемо, создавая трудноуловимые ошибки и конфликтные ситуации при исполнении, поэтому использовать новый язык в больших проектах следует с осторожностью. В других случаях они советуют использовать стандартные интерфейсы Java, а реализацию воплощать на Groovy – получается более надежный код, и ошибки отлавливать в этом случае лучше. Нельзя забывать при этом и об огромных наработанных библиотеках классов на Java, которые могут работать в Groovy без изменений – это большой плюс языку, который с момента рождения не испытывал дефицита поддержки со стороны сообщества свободных разработчиков. К тому же программистам не приходится изучать язык заново, так что на исследование дополнительных возможностей тратится мало времени. Как говорят в рекламе – «через 15 минут вы освоите новый язык».