Groovy: відмінності між версіями
[неперевірена версія] | [перевірена версія] |
Ishe (обговорення | внесок) мНемає опису редагування |
м Категоризація |
||
(Не показані 38 проміжних версій 19 користувачів) | |||
Рядок 1: | Рядок 1: | ||
{{Infobox programming language |
|||
'''Groovy''' — об'єктно-орієнтовна динамічна [[мова програмування]], що працює в середовищі [[JRE]]. За своїм зовнішнім виглядом дуже схожа на [[Ruby]] та [[Python]], що не дивно, бо саме ці дві мови є основними натхненниками створення Groovy. |
|||
| name = Groovy |
|||
| logo = [[File:Groovy-logo.svg|200px|Groovy-logo]] |
|||
| 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. |
|||
⚫ | |||
== Ключові особливості == |
== Ключові особливості == |
||
Рядок 14: | Рядок 27: | ||
* ''Висока швидкість розробки'' |
* ''Висока швидкість розробки'' |
||
Groovy є більш високорівневою мовою програмування |
Groovy є більш високорівневою мовою програмування у порівнянні з Java, а отже розробка на ньому зазвичай відбувається швидше. Цьому сприяють перш за все динамічна природа мови, а по-друге, наявні елементи функційного програмування, зокрема [[Замикання (програмування)|замикання]]. |
||
* ''Функціональна спрямованність'' |
|||
⚫ | |||
* ''Функційна спрямованість'' |
|||
⚫ | |||
* Режим статичної компіляції для забезпечення підвищеної продуктивності для критичних до швидкості виконання ділянок коду. |
|||
== Застосування == |
== Застосування == |
||
Останнім часом Groovy разом з [[Grails]] стали дуже популярними технологіями на Заході. Приймаючи рішення про те, чи варто використовувати їх у якомусь конкретному випадку потрібно пам’ятати про динамічну |
{{Джерело?|Останнім часом{{коли?}} Groovy разом з [[Grails]] стали дуже популярними технологіями на Заході}}. Приймаючи рішення про те, чи варто використовувати їх у якомусь конкретному випадку потрібно пам’ятати про динамічну спрямованість мови і використовувати там, де потрібно використовувати саме динамічні мови. Там де потрібна надійність або значна швидкодія рекомендується використовувати статичні мови, зокрема [[Java]] чи [[Scala]]. {{Джерело?|Адже відомо, що зробити помилку при розробці в першому випадку значно легше}}. |
||
⚫ | |||
* [http://groovy-lang.org/ Офіційний сайт проекту] {{Webarchive|url=https://web.archive.org/web/20210110100350/http://groovy-lang.org/ |date=10 січня 2021 }} {{ref-en}} |
|||
{{Java}} |
|||
[[Категорія:Сімейство мов програмування Java]] |
|||
== Популярність == |
|||
[[Категорія:Об'єктно-орієнтовані мови програмування]] |
|||
[[Категорія:Функціональні мови програмування]] |
|||
Так само як і [[Ruby]] своєю популярністю перш за все має завдячувати [[Ruby on Rails]], Groovy своєю популярністю перш за все має завдячувати спорідненому фреймворку швидкої web-розробки [[Grails]]. |
|||
[[Категорія:Скриптові мови]] |
|||
[[Категорія:Мови програмування]] |
|||
[[Категорія:Багатоплатформне вільне програмне забезпечення]] |
|||
[[Категорія:Програмне забезпечення, що використовує ліцензію Apache]] |
|||
⚫ | |||
[[Категорія:Багатоплатформне ПЗ]] |
|||
* [http://groovy.codehaus.org Офіційний сайт проекту] |
|||
* [http://twitter.com/glaforge Твиттер головного розробника] |
|||
* [http://www.ibm.com/developerworks/ru/library/j-grails01158/index.html Cоздание первого Grails-приложения] |
Версія за 22:01, 30 серпня 2023
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.] (англ.)