Groovy: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[неперевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Luckas-bot (обговорення | внесок)
м r2.7.1) (робот додав: ar:جروفي (لغة برمجة)
BunykBot (обговорення | внесок)
м Категоризація
(Не показано 32 проміжні версії 17 користувачів)
Рядок 1: Рядок 1:
{{Infobox programming language
{{стиль}}
| name = Groovy
{{без джерел}}
| logo = [[File:Groovy-logo.svg|200px|Groovy-logo]]
'''Groovy''' — об'єктно-орієнтовна динамічна [[мова програмування]], що працює в середовищі [[JRE]]. За своїм зовнішнім виглядом дуже схожа на [[Ruby]] та [[Python]], що не дивно, бо саме ці дві мови є основними натхненниками створення Groovy.
| paradigm = [[Об'єктно-орієнтоване програмування|об'єктно-орієнтована]], [[Імперативне програмування|імперативна]], [[скриптова мова|скриптова]], [[Функційне програмування|функційна]]
| year = 2003
| designer = [[Java Community Process]]
| developer = Guillaume Laforge (розпорядник проекту та лідер специфікації JSR-241)<br />Jochen Theodorou (технічний керівник)<br />Paul King<br />Cedric Champeau
| latest_release_version = 3.0.8
| latest_release_date = {{Start date and age|2021|4|16}}
| typing = [[динамічна типізація|динамічна]], [[сувора типізація|сувора]], [[качина типізація|качина]]
| implementations =
| dialects =
| influenced_by = [[Java]], [[Python]], [[Ruby]], [[Perl]], [[Smalltalk]], [[Objective-C]]
| influenced =
| platform = [[Java Virtual Machine]]
| operating_system = [[крос-платформовий]]
| license = [[Apache License]] v2.0
| website = {{url|http://www.groovy-lang.org/}}
}}
'''Groovy''' — об'єктно-орієнтована динамічна [[мова програмування]], що працює в середовищі [[JRE]]. Мова Groovy запозичила деякі корисні якості [[Ruby]], [[Haskell]] і [[Python]], але створена для роботи всередині [[віртуальна машина Java|віртуальної машини Java]] (JVM) і підтримує тісну інтеграцію з [[Java]] програмами. За роки існування Groovy навколо цієї мови сформувалася екосистема з пов'язаних проектів, таких як [[MVC]] [[вебфреймврок|вебфреймворк]] [[Grails]], [[swing]]-орієнтований [[фреймворк]] [[Griffon]], системи збирання Gant і [[Gradle]], інструментарій для інтеграції з [[Google App Engine]] - Gaelyk, система паралельного програмування Gpars, тестовий комплект Spock, інструменти для контролю якості CodeNarc і GMetrics.


Оскільки Groovy працює в середовищі [[JRE]], то саме [[Java]] є основним так би мовити конкурентом. Розробники недвозначно акцентують увагу в різноманітних описах на тому, що дана мова дуже схожа на [[Java]] і використовує її інфраструктуру, відповідно потребує мінімум зусиль для вивчення.
== Позиціювання ==

Оскільки Groovy працює в середовищі JRE, то саме Java є основним так би мовити конкурентом. Розробники недвозначно акцентують увагу в різноманітних описах на тому, що дана мова дуже схожа на Java і використовує її інфраструктуру, відповідно потребує мінімум зусиль для вивчення.


== Ключові особливості ==
== Ключові особливості ==
Рядок 11: Рядок 26:
* ''Безшовна інтеграція з Java''
* ''Безшовна інтеграція з Java''
* ''Висока швидкість розробки''
* ''Висока швидкість розробки''
Groovy є більш високорівневою мовою програмування порівняно з Java, а отже розробка на ньому зазвичай відбувається швидше. Цьому сприяють перш за все динамічна природа мови, а по друге існуючі елементи функціональнального програмування, зокрема [[замикання]].


Groovy є більш високорівневою мовою програмування у порівнянні з Java, а отже розробка на ньому зазвичай відбувається швидше. Цьому сприяють перш за все динамічна природа мови, а по-друге, наявні елементи функційного програмування, зокрема [[Замикання (програмування)|замикання]].
* ''Функціональна спрямованність''
Саме цьому аспекту мови розробники надають один з найбільших приоритетів. Нові можливості з'являються досить регулярно.


* ''Функційна спрямованість''
== Застосування ==
Саме цьому аспекту мови розробники надають один з найбільших пріоритетів. Нові можливості з'являються досить регулярно.


* Режим статичної компіляції для забезпечення підвищеної продуктивності для критичних до швидкості виконання ділянок коду.
Останнім часом Groovy разом з [[Grails]] стали дуже популярними технологіями на Заході. Приймаючи рішення про те, чи варто використовувати їх у якомусь конкретному випадку потрібно пам’ятати про динамічну спрямованність мови і використовувати там, де потрібно використовувати саме динамічні мови. Там де потрібна надійність або значна швидкодія рекомендується використовувати статичні мови, зокрема [[Java]] чи [[Scala]]. Адже відомо, що зробити помилку при розробці в першому випадку значно легше.


== Застосування ==
== Популярність ==


{{Джерело?|Останнім часом{{коли?}} Groovy разом з [[Grails]] стали дуже популярними технологіями на Заході}}. Приймаючи рішення про те, чи варто використовувати їх у якомусь конкретному випадку потрібно пам’ятати про динамічну спрямованість мови і використовувати там, де потрібно використовувати саме динамічні мови. Там де потрібна надійність або значна швидкодія рекомендується використовувати статичні мови, зокрема [[Java]] чи [[Scala]]. {{Джерело?|Адже відомо, що зробити помилку при розробці в першому випадку значно легше}}.
Так само як і [[Ruby]] своєю популярністю перш за все має завдячувати [[Ruby on Rails]], Groovy своєю популярністю перш за все має завдячувати спорідненому фреймворку швидкої web-розробки [[Grails]].


== Посилання ==
== Посилання ==
* [http://groovy.codehaus.org Офіційний сайт проекту]
* [http://groovy-lang.org/ Офіційний сайт проекту] {{Webarchive|url=https://web.archive.org/web/20210110100350/http://groovy-lang.org/ |date=10 січня 2021 }} {{ref-en}}
* [http://twitter.com/glaforge Твиттер головного розробника]
* [http://www.ibm.com/developerworks/ru/library/j-grails01158/index.html Cоздание первого Grails-приложения]


{{Java}}
[[Категорія:Java]]

[[Категорія:Мови програмування]]
[[Категорія:Сімейство мов програмування Java]]
[[Категорія:Об'єктно-орієнтовані мови програмування]]
[[Категорія:Об'єктно-орієнтовані мови програмування]]
[[Категорія:Функціональні мови програмування]]
[[Категорія:Функціональні мови програмування]]
[[Категорія:Скриптові мови]]

[[Категорія:Мови програмування]]
[[ar:جروفي (لغة برمجة)]]
[[Категорія:Багатоплатформне вільне програмне забезпечення]]
[[ca:Groovy]]
[[Категорія:Програмне забезпечення, що використовує ліцензію Apache]]
[[cs:Groovy]]
[[Категорія:Багатоплатформне ПЗ]]
[[de:Groovy]]
[[en:Groovy (programming language)]]
[[es:Groovy (lenguaje de programación)]]
[[fr:Groovy (langage)]]
[[hu:Groovy]]
[[it:Groovy]]
[[ja:Groovy]]
[[ka:გრუვი]]
[[ko:그루비]]
[[nl:Groovy]]
[[pl:Groovy]]
[[pt:Groovy]]
[[ro:Groovy]]
[[ru:Groovy]]
[[sr:Груви (програмски језик)]]
[[sv:Groovy (programspråk)]]
[[th:ภาษากรูวี]]
[[tr:Groovy]]
[[vi:Groovy (ngôn ngữ lập trình)]]
[[zh:Groovy]]

Версія за 22:01, 30 серпня 2023

Groovy
Groovy-logo
Парадигмаоб'єктно-орієнтована, імперативна, скриптова, функційна
Дата появи2003
ТворціJava Community Process
РозробникGuillaume Laforge (розпорядник проекту та лідер специфікації JSR-241)
Jochen Theodorou (технічний керівник)
Paul King
Cedric Champeau
Останній реліз3.0.8 (16 квітня 2021; 3 роки тому (2021-04-16))
Система типізаціїдинамічна, сувора, качина
Під впливом від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. Адже відомо, що зробити помилку при розробці в першому випадку значно легше[джерело?].

Посилання

  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