Un primer vistazo a Groovy

Actualmente en todo el mundo los lenguajes dinámicos o ágiles han logrado alcanzar mucha popularidad tanto en las empresas como para los desarrolladores (aunque en Chile y en general en Latino América, a nivel empresarial aún no son muy valorados).


Groovy me ha llamado poderosamente la atención ya que es un lenguaje nacido con la misión de llevarse bien con Java, vivir en la máquina virtual y soportar los tipos de datos estándar pero añadiendo características dinámicas y sintácticas presentes en lenguajes como Python, Smalltalk o Ruby.

El código fuente de Groovy compila a bytecodes igual que Java (generando archivos .class que podemos ejecutar directamente desde la máquina virtual), lo que permite instanciar objetos Java desde Groovy y viceversa.

La sintaxis de Groovy es bastante similar a la de Java, por lo que la curva de aprendizaje es muy alta para los desarrolladores que se familiarizan con él.

La mayoría de las cosas que hacemos con Java puede hacerse en Groovy, por ejemplo:
  • Definición de packages
  • Definición de clases (pero no internas) y métodos
  • Estructuras de control, excepto el bucle for( ; ; )
  • Control de excepciones
  • Operadores, expresiones y asignaciones
  • Literales con algunas variaciones
  • Instanciación, referencia y de-referencia de objetos, llamadas a métodos
Y algunas mejoras sintácticas que incluye Groovy:
  • En Groovy todo es un objeto
  • Facilidad en el manejo de objetos, a través de nuevas expresiones y sintaxis
  • Diversas formas para declarar literales
  • Control de flujo avanzado mediante nuevas estructuras
  • Nuevos tipos de datos con operaciones y expresiones específicas
  • Brevedad, el código Groovy es mucho más breve que el de Java

Y como es habitual y para finalizar esta entrada, veamos como sería el código del típico "Hola Mundo" en Groovy:

//Hola Mundo en Groovy
def mundo = "Mundo"
println "Hola $mundo!"
//Fin

A primera vista vemos que:
  • Se pueden escribir script en los que no hay clases (en realidad la hay pero no necesitamos declararla)
  • No hay ';' al final de cada línea. En Groovy es opcional
  • La palabra reservada def permite declarar variables de tipo dinámico. También se pueden crear variables de tipo estático (ejemplo: Integer)
  • Los comentarios son igual que en Java (// o /**/)
  • print y println son equivalentes a System.out.print y System.out.println
  • El parámetro de la función println no va entre paréntesis, es opcional

0 comentarios:

Publicar un comentario en la entrada

top