Groovy
Groovy | |
---|---|
Парадигма | об'єктно-орієнтована, імперативна, скриптова, функційна |
Дата появи | 2003 |
Творці | Java Community Process |
Розробник | Guillaume Laforge (розпорядник проекту та лідер специфікації JSR-241) Jochen Theodorou (технічний керівник) Paul King Cedric Champeau |
Останній реліз | 3.0.8 (16 квітня 2021 ) |
Система типізації | динамічна, сувора, качина |
Під впливом від | Java, Python, Ruby, Perl, Smalltalk, Objective-C |
Мова реалізації | Java[1][2] |
Платформа | Java Virtual Machine |
Операційна система | крос-платформовий |
Ліцензія | Apache License v2.0 |
Звичайні розширення файлів | .groovy [3], .gvy [3], .gsh [3] або .gy [3] |
Репозиторій вихідного коду | github.com/apache/groovy gitbox.apache.org/repos/asf/groovy.git |
Вебсайт | www.groovy-lang.org |
Groovy — об'єктно-орієнтована динамічна мова програмування, що працює в середовищі JRE. Мова Groovy запозичила деякі корисні якості Ruby, Haskell і Python, але створена для роботи всередині віртуальної машини Java (JVM) і підтримує тісну інтеграцію з Java програмами. За роки існування Groovy навколо цієї мови сформувалася екосистема з пов'язаних проєктів, таких як MVC вебфреймворк Grails, swing-орієнтований фреймворк Griffon, системи збирання Gant і Gradle, інструментарій для інтеграції з Google App Engine - Gaelyk, система паралельного програмування Gpars, тестовий комплект Spock, інструменти для контролю якості CodeNarc і GMetrics.
Оскільки Groovy працює в середовищі JRE, то саме Java є основним так би мовити конкурентом. Розробники недвозначно акцентують увагу в різноманітних описах на тому, що дана мова дуже схожа на Java і використовує її інфраструктуру, відповідно потребує мінімум зусиль для вивчення.
- Безшовна інтеграція з Java
- Висока швидкість розробки
Groovy є більш високорівневою мовою програмування у порівнянні з Java, а отже розробка на ньому зазвичай відбувається швидше. Цьому сприяють перш за все динамічна природа мови, а по-друге, наявні елементи функційного програмування, зокрема замикання.
- Функційна спрямованість
Саме цьому аспекту мови розробники надають один з найбільших пріоритетів. Нові можливості з'являються досить регулярно.
- Режим статичної компіляції для забезпечення підвищеної продуктивності для критичних до швидкості виконання ділянок коду.
Останнім часом[коли?] Groovy разом з Grails стали дуже популярними технологіями на Заході[джерело?]. Приймаючи рішення про те, чи варто використовувати їх у якомусь конкретному випадку потрібно пам’ятати про динамічну спрямованість мови і використовувати там, де потрібно використовувати саме динамічні мови. Там де потрібна надійність або значна швидкодія рекомендується використовувати статичні мови, зокрема Java чи Scala. Адже відомо, що зробити помилку при розробці в першому випадку значно легше[джерело?].
- Офіційний сайт проєкту [Архівовано 10 січня 2021 у Wayback Machine.] (англ.)