Groovy

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. 

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
Esimest korda rääkis James Strachan Groovy arendamisest oma blogis augustis 2003. Märtsis 2004 esitati Groovy JCPsse kui JSR 241 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
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. Tänu sellele on Java programmeerijatel võimalik õppida Groovyt järk-järgult, alustades tuttava Java süntaksiga enne rohkemate Groovy programmeerimisidioomide omandamist.

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.

Viited

Objektorienteeritud programmeerimiskeeled