Groovy

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Groovy
Groovy-logo
Парадигмаоб'єктно-орієнтована, імперативна, скриптова, функційна
Дата появи2003
ТворціJava Community Process
РозробникGuillaume Laforge
(розпорядник проекту та
лідер специфікації JSR-241)
Останній реліз2.0 (28 червня 2012; 12 років тому (2012-06-28))
Система типізаціїдинамічна, сувора, качина
Під впливом від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
Вебсайтgroovy.codehaus.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. Адже відомо, що зробити помилку при розробці в першому випадку значно легше.

Популярність

Так само як і Ruby своєю популярністю перш за все має завдячувати Ruby on Rails, Groovy своєю популярністю перш за все має завдячувати спорідненому фреймворку швидкої web-розробки Grails.

Посилання

  1. The groovy Open Source Project on Open Hub: Languages Page — 2006.
  2. https://projects.apache.org/json/projects/groovy.json
  3. а б в г https://blog.mrhaki.com/2011/10/groovy-goodness-default-groovy-script.html