Apache Groovy: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Luckas-bot (discussione | contributi)
wikificata
Riga 1:
{{WS|informatica|dicembre 2007}}
'''Groovy''' è un [[linguaggio di programmazione]] [[Programmazione ad oggetti|ad oggetti]] per la [[Piattaforma Java]] come alternativa al [[Java_(linguaggio)|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''.
{{s|informatica}}
'''Groovy''' è un [[linguaggio di programmazione]] [[Programmazione ad oggetti|ad oggetti]] per la [[Piattaforma Java]] come alternativa al [[Java_(linguaggio)|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.
 
==Caratteristiche del Linguaggio==
Groovy usa una [[sintassi (informatica)|sintassi]] simile a quella di Java, basata su [[parentesi graffa|parentesi graffe]], e viene compilato dinamicamente in [[bytecode]] per la [[Macchina_virtuale_Java|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:
Dopo varie versioni beta e release candidate numerate come 1.1, il 7 dicembre 2007 Groovy 1.1 Final è stato rilasciato e rinumerato come Groovy 1.5, per evidenziare i grandi miglioramenti fatti rispetto alla precedente versione.
* [[Tipizzazione_Dinamica|Tipizzazione dinamica]]
 
* Sintassi nativa per liste, mappe ed [[espressioni regolari]]
==Caratteristiche del Linguaggio==
 
* [[Tipizzazione_Dinamica|Tipizzazione dinamica]]
* Sintassi nativa per liste, mappe ed espressioni regolari
* [[Chiusura_(informatica)|Chiusure]]
* [[Overloading]] degli operatori
 
==Confronto della Sintassisintassi==
''';Standard Java (Java 5+)'''
<source lang="java">
for (String item : new String [] {"Rod", "Carlos", "Chris"}) {
Line 22 ⟶ 19:
</source>
 
''';Groovy'''
<source lang="groovy">
["Rod", "Carlos", "Chris"].findAll{it.size() <= 4}.each{println it}
</source>
<!--
class Foo {
def doSomething() {
def data = ["name": "James", "location": "London"]
for (e in data) {
println("entry ${e.key} is ${e.value}")
}
}
def closureExample(collection) {
collection.each { println("value ${it}") }
}
static void main(args) {
def values = [1, 2, 3, "abc"]
def foo = new Foo()
foo.closureExample(values)
foo.doSomething()
}
}
-->
 
==Supporto per Linguaggilinguaggi Markupmarkup==
 
Una caratteristica di Groovy che vale la pena sottolineare è il suo supporto nativo per vari [[linguaggio di markup|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:
 
'''Per esempio il seguente codice Groovy ... ''':
<source lang="groovy">
 
Line 70 ⟶ 46:
</source>
 
'''... produceProduce questo XML:'''
<source lang="xml">
 
Line 86 ⟶ 62:
 
== Storia ==
James Strachan parlò per la prima volta dello sviluppo di Groovy sul suo blog nell'agosto [[2003]]<ref>{{en}}[http://radio.weblogs.com/0112098/2003/08/29.html blog]James nellStrachan'agostos 2003Weblog]</ref>. Diverse versioni furono rilasciatepubblicate tra il [[2004]] ed il [[2006]]. Dopo l'inizio del processo di standardizzazione [[Java Community Process|JCP]], la numerazione delle versioni fu cambiata e la versione chiamata "1.0" fu rilasciata nelpubblicata martedì 2 gennaio [[2007]].
 
Dopo varie [[versione beta|versioni beta]] e [[Release (informatica)|release]] candidate numerate come 1.1, il 7 dicembre [[2007]] ''Groovy 1.1 Final'' è stato rilasciatopubblicato e rinumerato come Groovy 1.5, per evidenziare i grandi miglioramenti fatti rispetto alla precedente versione.
 
==Note==
<references/>
 
==Voci correlate==
* [[Grails]] Un, framework web basato su Groovy
 
== Collegamenti esterni ==
 
*{{en}}[http://groovy.codehaus.org/ Sito Ufficialeufficiale]
*{{en}}[http://www.jcp.org/en/jsr/detail?id=241 ''JSR 241'', jcp.org]
*{{en}}[http://www-128.ibm.com/developerworks/java/library/j-alj08034.html ''An introduction to Groovy'', ibm.com]
*[http://dmoz.org/{{Dmoz|Computers/Programming/Languages/Java/Extensions/Groovy/ Open Directory: Java: Extensions: Groovy]}}
*[http://www.techbookreport.com/tutorials/groovy_derby_01.html Groovy and Apache Derby database - tutorial]
*[http://dmoz.org/Computers/Programming/Languages/Java/Extensions/Groovy/ Open Directory: Java: Extensions: Groovy]
 
[[Categoria:Linguaggi di programmazione]]
[[Categoria:Piattaforma Java]]
 
[[ca:Groovy]]