Groovy es un lenguaje de programación orientado a
objetos implementado sobre la plataforma Java. Tiene características similares
a Python, Ruby, Perl y Smalltalk. La especificación JSR 241 se encarga de su estandarización para una
futura inclusión como componente oficial de la plataforma Java.
Groovy usa una sintaxis muy
parecida a Java, comparte el mismo modelo de objetos, de hilos y de seguridad.
Desde Groovy se puede acceder directamente a todas las API existentes en Java.
El bytecode generado en el proceso de compilación es totalmente compatible con
el generado por el lenguaje Java para la Java Virtual Machine (JVM), por
tanto puede usarse directamente en cualquier aplicación Java.
Todo lo anterior
unido a que la mayor parte de código escrito en Java es totalmente válido en
Groovy hacen que este lenguaje sea de muy fácil adopción para programadores
Java; la curva de aprendizaje se reduce mucho en comparación con otros
lenguajes que generan bytecode para la JVM, tales como Jython o JRuby.
Groovy puede usarse también de manera dinámica como un lenguaje de scripting.
Groovy 1.0 apareció el 2 de
enero de 2007. Después de varias versiones beta y otras tantas candidatas a
release, el 7 de diciembre de 2007 apareció la versión Groovy 1.1 que
finalmente fue renombrada a Groovy 1.5 con el fin de notar la gran cantidad de
cambios que ha sufrido con respecto a la versión 1.0. En diciembre de 2009 se
publicó la versión 1.7.
Otras características
incluyen:
- Curva de aprendizaje corta.
- Soporte para lenguajes específicos de dominio (domain-specific languages)
- Sintaxis compacta
- Soporte para tipado dinámico
- Potentes primitivas de procesamiento
- La facilidad de desarrollo de aplicaciones Web
- Soporte para las pruebas unitarias.
El concepto Groovy fue introducido en 2003 por James
Strachan. Las versiones beta se hicieron disponibles desde 2004 a 2006. Versión
1.0 fue lanzado en enero de 2007 y la versión 1.1 fue lanzado en diciembre de
2007. Groovy está atravesando normalización en Java Specification Request (JSR)
241. El director del proyecto es Guillaume Laforge.
Veamos unos pequeños
ejemplos
Hello World:
def name = 'World'
println "Hello $name!
Definiendo una clase:
class Greet {
def name
Greet(who) {
name = who[0].toUpperCase() + who[1..-1]
}
def salute() {
println "Hello $name!"
}
}
g = new Greet('world') // create object
g.salute() // output "Hello World!"
Utilizando las bibliotecas de Java:
import static org.apache.commons.lang.WordUtils.*
class Greeter extends Greet {
Greeter(who) {
name = capitalize(who)
}
}
new Greeter('world').salute()
En línea de comandos:
groovy -e "println 'Hello ' + args[0]" World
No hay comentarios:
Publicar un comentario