Groovy


Groovy — объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk.

Использует java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим java-кодом и библиотеками. Язык может использоваться в любом java-проекте или как сценарный язык. Активно используется как Предметно-ориентированный язык для написания скриптов при работе в предметной области (от математики до обработки научных данных), а также сборки и тестирования приложений (Gradle).

Основные возможности языка, отличающие его от Java: как статическая, так и динамическая типизация; встроенный синтаксис для списков, ассоциативных массивов, массивов и регулярных выражений; перегрузка операций. Замыкания в Groovy появились задолго до Java.

На Groovy создано ряд популярных веб-фреймворков, в том числе Grails и Ratpack, фреймворк для создания настольных приложений Griffon[en], платформа тестирования Spock[en].

Язык нашёл применение в качестве сценарного для расширения возможностей платформенного программного обеспечения. В частности, генератор отчётов iReport, основанный на Java-библиотеке JasperReports, позволяет встраивать в отчёты выражения на Groovy и писать на нём дополнительную логику. Система непрерывной интеграции Jenkins позволяет использовать сценарии автоматизации, созданные на Groovy. Приложение для тестирования веб-сервисов SoapUI поддерживает написание тестовых сценариев на Groovy[3].

Программирование на Groovy поддерживается в основных интегрированных средах разработки[4], в том числе IntelliJ IDEA (начиная с версии 7 или для более ранних версий с использованием JetGroovy Plugin), Eclipse (с использованием Groovy Eclipse), Netbeans (встроен), VS Code (через расширение), Vim (через расширение).