Groovy er stadig godt til DSL'er og integration

Groovys downloads øges år for år, og det imponerer styrmand Guillaume Laforge, for sproget er jo ikke nyt længere. Illustration: Søren Berg Glasius
Groovy er ikke så hot som for 10 år siden, men sproget er stadig det rigtige valg til integration og hjemmestrikkede små-sprog. Det mener sprogets to profiler.

På konferencen Gr8Conf, som løber af stablen på IT-Universitetet i København i disse dage, kan gæsterne møde sprogets to top-profiler.

Guillaume Laforge har stået i spidsen for Groovy i mange år, og Graeme Rocher opfandt i sin tid webframeworket Grails, der skabte en pendant til Ruby on Rails i JVM-verdenen.

Version2 mødte de to på konferencen, og det var åbenbart et stykke tid siden, vi sidst talte med parret:

»Sammenlignet med sidste gang, vi lavede det her interview, for otte-ti år siden, har vi fået statisk kompilering og typecheck i sproget, og det har været meget vigtigt for Groovy,« fortæller Guillaume Laforge.

I de tidlige dage klagede folk over, at Groovy var langsomt, på grund af den dynamiske natur. Nu er sproget fyldt 15 år, med den ansvarlighed og de privilegier, som følger med den alder.

»Det er lykkedes os at gen-implementere visse af sprogets dynamiske faciliteter som statiske faciliteter. Vi har vist, at Groovy kan være lige så hurtigt som Java, men stadigvæk med den rare Groovy-fornemmelse, i den forstand, at det er nemt at bruge og læse, og nemmere at kode end Java, da man ikke skal skrive lige så meget. Vi har set en udvikling fra et rent dynamisk sprog, til et sprog, der benytter flere kompilerings-funktioner.«

Det er sket, for at Groovy kan fortsætte med at være et sprog, som er godt til at udtrykke sig med, samtidig med at det dynamiske aspekt bliver mere statisk, med bedre ydelse til følge.

Graeme Rocher bakker op om synspunktet:

»Jeg er enig, og tæt knyttet til det er udviklingen af AST-transformationer. Det har revolutioneret den måde, som folk skaber Groovy-programmer på. Det formindsker den mængde kode, man skal skrive.«

Groovys forvandling fra dynamisk til næsten-statisk, har gjort webframeworket Grails hurtigere, fortæller dets opfinder, Graeme Rocher. Illustration: Graeme Rocher

AST står for abstrakt syntaks-træ og er den datastruktur, som et programs kildekode bliver nedbrudt til under kompilering. Ved at behandle syntakstræet programmatisk kan værktøjer føje ny funktionalitet til koden på en meget fleksibel facon.

»Kompileren arbejder for dig i stedet for omvendt,« siger Guillaume Laforge.

Livet som nichesprog

Mange værktøjer og frameworks i Groovy-vedenen bygger på denne facilitet. Det gælder eksempelvis testmiljøet Spock, der kan minde om det mere kendte værktøj Cucumber.

Graeme Rocher fortæller om sit framework, Grails:

»For ti år siden var det rent dynamisk. Det byggede på meta-programmering under kørslen. Men i Grails 3 er der nu stort set ingen meta-programmering. Det hele sker på kompileringstidspunktet. Det reducerer hukommelsesforbruget og giver bedre ydelse.«

Groovy er ikke ligefrem det mest anvendte sprog i verden, men det gør heller ikke noget, mener de to:

»Groovy ligger ikke lige så højt på popularitetsmålingerne, som det gjorde for ti siden. Det er et nichesprog, og så er det ikke så nemt at være synlig. Groovys downloads øges dog for hvert år, og det imponerer mig, for sproget er jo ikke nyt længere, og får ikke lige så meget opmærksomhed.,« siger Guillaume Laforge.

Groovy er også integreret i produkter som build-serveren Jenkins, der har stor succes i forbindelse med kontinuerlig integration (CI):

»Det er et godt værktøj til integration og DSL’er,« siger Guillaume Laforge med henvisning til domænespecifikke sprog, som er små sprog, der med en nem syntaks kan formulere et problem eller en løsning.

Det er også en misforståelse at tro, at ambitionen for Groovy er at erstatte Java, siger begge to i munden på hinanden. Det er blot endnu et værktøj i Java-udviklerens kasse.

Masser af succes

Groovy kan fremvise en hel del succeser, som build-systemet Gradle, der er indbygget i udviklingsværktøjerne Android Studio og Intellij Idea, samt det tidligere nævnte testværktøj Spock – og Netflix’ gateway-server, hvor virksomheden bruger Groovy til at skrive regler til serveren.

»Hver gang en Netflix-kunde ser en film, går det gennem en Groovy-kodebase. Det er stort,« griner Guillaume Laforge.

De to frygter ikke konkurrencen fra Java, der i de seneste år har undergået en fornyelse, og som snart sagt ligner alle andre moderne sprog.

»Jeg tror ikke, der er tale om konkurrence,« siger Graeme Rocher.

»Sprog som Groovy og Scala har haft en kæmpe indflydelse på den retning, Java har udviklet sig i, og det kan kun være en god ting. I sin tid havde Javas skabere meget modstand mod lambda-udtryk, og se, hvor godt, det er blevet – folk elsker lambdaer i Java 8. Og designet af lambdaer i Java er meget påvirket af sprog som Groovy.«

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (0)
Log ind eller Opret konto for at kommentere
Pressemeddelelser

Welcome to the Cloud Integration Enablement Day (Bring your own laptop)

On this track, we will give you the chance to become a "Cloud First" data integration specialist.
15. nov 2017

Silicom i Søborg har fået stærk vind i sejlene…

Silicom Denmark arbejder med cutting-edge teknologier og er helt fremme hvad angår FPGA teknologien, som har eksisteret i over 20 år.
22. sep 2017

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017