Vamos a ir viendo en varias entradas, algunos conceptos de Groovy y similitudes de éste con Java para poco a poco ir entrando en materia. Lo que primero vamos a ver como se realiza el típico Hola Mundo en Java y posteriormente como se haría en Groovy.
// Java
public class HolaMundo{
public static void main(String[] args){
for(int i = 0; i < 3; i++) {
System.out.print("Hola ");
}
System.out.println("Mundo!");
}
}
Hasta aqui, para los programadores Java no hay nada nuevo, solo habria que guardarlo en un fichero con extenxión .java y de nombre, el nombre de la clase, y solo haria falta compilarlo, sacándonos por pantalla lo siguiente:
Hola Hola Hola Mundo !!
Ahora hagamos lo siguiente: copiamos y pegamos este código en la consola de Groovy y pulsamos CTROL + R y ejecutamos el script y observamos que sale lo mismo. Hay que mentalizarse que Groovy es Java y Java es Groovy.
Tambien podriamos haberlo guardado en un fichero fuente con extension groovy y ejecutarlo con la orden groovy HolaMundo.groovy
Ahora volvamos a la consola, y vamos a convertir nuestro código anterior en mas... Groovy, primeramente algo más de teoria:
Imports por defecto:
Por defecto en Groovy tenemos a nuestra disposición, sin necesidad de importarlos, los siguientes paquetes/clases Java y paquetes Groovy:
- java.lang
- java.util
- java.io
- java.net
- java.math.BigDecimal
- java.math.BigInteger
- groovy.lang
- groovy.util
- Eliminamos del codigo de la consola los puntos y coma de final de linea (;)
- Eliminamos la definicion de clase y el método main()
Volvemos a pulsar CTROL + R para ejecutar de nuevo el script. Sale lo mismo que antes. Ahora sigamos modificando nuestro codigo. Hemos dicho que que por defecto se cargan los paquetes lang de Java por tanto nuestro código podria quedar como sigue:
for(int i = 0; i < 3; i++)
{
System.out.print("Hola " )
}
System.out.println("Mundo!" )
for(int i = 0; i < 3; i++)Ahora por último vamos a quitar los paréntesis ya vamos a sustituir la estructura repetitiva for(;;) por una equivalente de Groovy quedándonos el código como sigue a continuación:
{
print("Hola " )
}
println("Mundo!" )
for (i in 0..2) { print 'Hola ' }
println 'Mundo!'
Al ejecutarlo en la consola, vemos que sale el mismo resultado.
Conclusiones:
A la vista queda las mejoras de Groovy respecto a Java, pero basicamente es lo siguiente, Groovy es Java, por lo que si queremos podemos seguir usando las librerias, estructuras y código que ya teniamos diseñado con anterioridad.
Groovy genera menos código, es decir realiza lo mismo con mucho menos lineas de código y por esa razón el mantenimiento del código es mejor y con menos posibilidades de crear errores en la etapa de diseño. Y en caso de producirse errores es mas facil y rápido la resolución de los mismos.


