Apache Groovy
Apache Groovy è un linguaggio di programmazione ad oggetti per la Piattaforma Java alternativo al linguaggio Java. Può essere visto come linguaggio di scripting per la Piattaforma Java, presenta caratteristiche simili a quelle di Python, Ruby, Perl, e Smalltalk. A volte ci si riferisce a Groovy con il nome alternativo di JSR 241.
Apache Groovy linguaggio di programmazione | |
---|---|
![]() | |
Autore | Guillaume Laforge |
Data di origine | 2003 |
Ultima versione | 4.0.26 (24 febbraio 2025) |
Utilizzo | General purpose |
Paradigmi | Orientato agli oggetti, imperativa, scripting |
Tipizzazione | Forte, Dinamica |
Estensioni comuni | groovy, gvy, gsh e gy |
Influenzato da | Java, Python, Ruby, Perl, Smalltalk, Objective-C |
Implementazione di riferimento | |
Sistema operativo | Multipiattaforma |
Licenza | Licenza Apache v. 2.0 |
Sito web | groovy-lang.org e groovy.apache.org/ |
Caratteristiche
Groovy usa una sintassi simile a quella di Java, basata su parentesi graffe, viene compilato dinamicamente in bytecode per la Java Virtual Machine, ed interagisce in modo trasparente con altro codice Java e con le librerie esistenti. Il compilatore di Groovy può essere usato per generare bytecode Java standard che può quindi essere usato da qualsiasi progetto Java. Groovy può anche venire usato come linguaggio di scripting dinamico.
Altre caratteristiche:
- Tipizzazione dinamica
- Sintassi nativa per liste, mappe ed espressioni regolari
- Chiusure
- Overloading degli operatori
Confronto della sintassi
- Standard Java (Java 5+)
for (String item : new String [] {"Rod", "Carlos", "Chris"}) {
if (item.length() <= 4) System.out.println(item);
}
- Groovy
["Rod", "Carlos", "Chris"].findAll{it.size() <= 4}.each{println it}
Supporto per linguaggi markup
Una caratteristica di Groovy che vale la pena sottolineare è il suo supporto nativo per vari linguaggi di markup come XML ed HTML. Questa caratteristica permette di definire e manipolare molti tipi di dati eterogenei con una sintassi ed una metodologia di programmazione uniformi.
Per esempio il seguente codice Groovy:
import groovy.xml.MarkupBuilder
def myXMLDoc = new MarkupBuilder()
myXMLDoc.workbook {
worksheet(caption:"Employees") {
row(fname:"John", lname:"McDoe")
row(fname:"Nancy", lname:"Davolio")
}
worksheet(caption:"Products") {
row(name:"Veeblefeetzer", id:"sku34510")
row(name:"Prune Unit Zappa", id:"sku3a550")
}
}
println myXMLDoc
Produce questo XML:
<workbook>
<worksheet caption='Employees'>
<row fname="John" lname="McDoe" />
<row fname="Nancy" lname="Davolio" />
</worksheet>
<worksheet caption='Products'>
<row name="Veeblefeetzer" id="sku34510" />
<row name="Prune Unit Zappa" id="sku3a550" />
</worksheet>
</workbook>
Storia
James Strachan parlò per la prima volta dello sviluppo di Groovy sul suo blog nell'agosto 2003[1]. Diverse versioni furono pubblicate tra il 2004 ed il 2006. Dopo l'inizio del processo di standardizzazione JCP, la numerazione delle versioni fu cambiata e la versione chiamata "1.0" fu pubblicata martedì 2 gennaio 2007.
Dopo varie versioni beta e release candidate numerate come 1.1, il 7 dicembre 2007 Groovy 1.1 Final è stato pubblicato e rinumerato come Groovy 1.5, per evidenziare i grandi miglioramenti fatti rispetto alla precedente versione.
Versioni
- 1.0 2 gennaio 2007[2]
- 1.5 7 dicembre 2007[3]
- 1.6 18 febbraio 2009[4]
- 1.7 22 dicembre 2009[5]
- 1.8 27 aprile 2011[6]
- 1.8.5 23 dicembre 2011[7]
- 2.1.0 25 gennaio 2013[8]
- 2.2 18 novembre 2013[9]
- 2.3.0 5 maggio 2014[10]
Note
- ^ (EN) James Strachan's Weblog Archiviato il 5 aprile 2007 in Internet Archive.
- ^ Groovy 1.0 is there - Groovy - Codehaus Archiviato il 12 novembre 2011 in Internet Archive.
- ^ Groovy 1.5 released - Groovy - Codehaus Archiviato il 12 novembre 2011 in Internet Archive.
- ^ The final version of Groovy 1.6 is released - Groovy - Codehaus Archiviato il 28 dicembre 2009 in Internet Archive.
- ^ Groovy 1.7 released - Groovy - Codehaus Archiviato il 1º maggio 2010 in Internet Archive.
- ^ Groovy 1.8.0 final is released - Groovy - Codehaus Archiviato il 2 novembre 2011 in Internet Archive.
- ^ Groovy 1.8.5 and 2.0-beta-2 released - Groovy - Codehaus Archiviato il 20 gennaio 2012 in Internet Archive.
- ^ Groovy 2.1.0 download, su groovy.codehaus.org. URL consultato il 6 febbraio 2013 (archiviato dall'url originale il 28 gennaio 2013).
- ^ Groovy 2.2 released
- ^ Groovy 2.3.0 is out Archiviato il 5 giugno 2014 in Internet Archive.
Voci correlate
- Grails, framework web basato su Groovy
- ManyDesigns Portofino, web framework basato su Groovy
- Gradle, sistema di build automation basato su Groovy
Altri progetti
- Wikimedia Commons contiene immagini o altri file su Apache Groovy
Collegamenti esterni
- (EN) Sito ufficiale, su groovy.codehaus.org. URL consultato il 17 dicembre 2007 (archiviato dall'url originale il 2 marzo 2014).
- (EN) JSR 241, jcp.org, su jcp.org.
- (EN) An introduction to Groovy, ibm.com, su ibm.com.
Controllo di autorità | LCCN (EN) sh2007001244 · J9U (EN, HE) 987007549666405171 |
---|