Apache Groovy on Java süntaksiga ühilduv objektorienteeritud programmeerimiskeel. See on nii staatiline kui ka dünaamiline keel, mille omadused sarnanevad Pythoni, Ruby ja Smalltalki omadega.

Groovy
Groovy logo
Groovy logo
Faililaiend .groovy, .gvy, .gy, .gsh [1]
Paradigma imperatiivne, objektorienteeritud, skriptimine
Väljalaskeaeg 2003
Looja James Strachan
Arendaja Guillaume Laforge
Jochen Theodorou
Paul King
Cedric Champeau
Tüüpimine staatiline, tugev, dünaamiline
Mõjutatud keeltest Java, Python, Ruby, Smalltalk
Litsents Apache License 2.0
Veebileht groovy-lang.org

Seda võib kasutada nii programmeerimiskeele kui ka skriptimiskeelena Java platvormi jaoks ning see on kompileeritud Java virtuaalmasina baitkoodi ning teeb sujuvalt koostööd teiste Java koodide ja teekidega. Groovy kasutab Javaga sarnast looksulgudega süntaksit. Groovy toetab funktsiooni sulgemist, mitmerealisi sõnesid ja sõnedesse manustatud väljendeid. Groovy tugev külg on abstraktse süntaksipuu transformeerimises, mis aktiveeritakse läbi märkuste.

Ajalugu muuda

Esimest korda rääkis James Strachan Groovy arendamisest oma blogis augustis 2003.[2] Märtsis 2004 esitati Groovy JCPsse kui JSR 241[3] ja võeti vastu hääletusega. Aastatel 2004–2006 avaldati mitu versiooni. Pärast JCP standardimisprotsessi muutus versiooninummerdamine ning versioon 1.0 avaldati 2. jaanuaril 2007. Pärast mitut beetaversiooni ja 1.1 kandidaatversiooni avaldati 7. detsembril 2007 Groovy 1.1 ning muudeti kohe Groovy 1.5, et kajastada mitmeid muudatusi.

2012 juulis avaldati Groovy 2.0, mis lisaks paljudele uuendustele lisas staatilise kompileerimise ja staatilise tüübikontrolli.

Omadused muuda

Enamik kehtivaid Java faile on kehtivad ka Groovy failidena. Kuigi Groovy ja Java on sarnased, võib Groovy olla palju kompaktsem, sest see ei vaja kõiki elemente mida Java vajab.[4] Tänu sellele on Java programmeerijatel võimalik õppida Groovyt järk-järgult, alustades tuttava Java süntaksiga enne rohkemate Groovy programmeerimisidioomide omandamist.[5]

Groovy toetab ka mitut märgistuskeelt, näiteks XML-i ja HTML-i, mis on saavutatud kasutades dokumendi objektimudeli süntaksit. See omadus võimaldab mitmete ühtsete ja lühikeste süntaksite ja programmeerimismetodoloogiate defineerimist ja manipuleerimist.

Groovy koodi saab täide viia kui (kompileerimata) skripti kui see sisaldab koodi mis on klassi definitsioonist väljas, kui see on main meetodiga klass või kui see on Runnable või GroovyTestCase. Groovy skript on täielikult parsitud, kompileeritud ja genereeritud enne täideviimist. Kõik see toimub taustal ning kompileeritud versioon ei salvestata protsessi artefaktina.[6]

Viited muuda

  1. https://mrhaki.blogspot.com/2011/10/groovy-goodness-default-groovy-script.html
  2. James Strachan (5. detsember 2019). "Groovy - the birth of a new dynamic language for the Java platform". Originaali arhiivikoopia seisuga 1. september 2003.
  3. "Java Community Process JSR 241".
  4. König 2007, lk. 32
  5. "Groovy style and language feature guidelines for Java developers". Groovy.codehaus.org. Originaali arhiivikoopia seisuga 17.01.2015. Vaadatud 5. detsember 2019.
  6. König 2007, lk 37-38