Groovy is een pragmatische programmeeromgeving en Groovy ontwikkelt sneller dan Java.
In Java is het altijd redelijk veel werk om een oplossing te realiseren. Ruby en Perl zijn omgevingen waarin men dergelijke oplossingen veel sneller kan realiseren. Je zou kunnen zeggen dat Groovy is ontstaan uit Perl / Ruby omdat men in de Java community ook gebruik wil maken
van snelle(re) programmeermethoden.
Afhankelijk van de doelstelling programmeer je in Groovy tot een factor 4 keer sneller dan in Java.
De Groovy taal heeft een groot aantal mogelijkheden die niet aanwezig zijn in Java. Hierdoor bereiken we twee voordelen:
1. Minder code is minder fouten
2. Snellere realisatie
3. Makkelijker om wijzigingen door te voeren omdat Groovy flexibeler is dan Java.
Groovy is een dynamische programmeertaal
Java is een statische taal. Elke variabele die je definieert is van een bepaald type.
In Groovy kan dit ook maar hoeft het niet meer. Je kunt volstaan met een variabele naam en dan kun je er een waarde aan toekennen. Afhankelijk van de waarde die je toekent wordt automagisch het huidige type
van die variabele bepaald. Dit principe wordt “duck typing” genoemd; niet de type definitie bepaald het type maar het desbetreffende object waarnaar de variabele verwijst.
Het grote voordeel hiervan is dat je een String kunt creƫren waar normaliter een File nodig zou zijn om TIJDELIJK makkelijker te kunnen debuggen. De String en de File class hebben
in Groovy namelijk allebei de “<<" operator en daarom past een String dan in een variabele die normaliter een File is.
Groovy is een uitbreiding op Java.
In Groovy kan daarom nog steeds in Java worden ontwikkeld. Groovy voegt boiler-plate code, methoden en syntactic-sugar toe aan Java.
boiler-plate = code die alomvattend is hoef je in Groovy niet te schrijven.
Groovy wordt gecompileerd naar Java
Omdat Groovy uiteindelijk wordt gecompileerd naar native Java byte code is Groovy eenvoudig aanpasbaar in een huidige Java omgeving. Het grote voordeel
is dus dat je de voordelen van Groovy hebt in een omgeving waar men Java mag / moet gebruiken. Nog sterker: binnen Groovy mag je gebruik maken
van Java syntax. Groovy is volledig "downwards" compatibel.