AOWS

Just another adrian’s weblog

Aprendiendo Groovy && Grails

con un comentario

Ya hacía tiempo (algo así como 3 meses) que no escribía nada; el verano, la jornada intensiva y una mudanza tienen parte de culpa :) .

El caso es que después de hacer el examen de SCJP veo Java por todas las esquinas, así que he decidido que es hora de aprender algo nuevo. Mi primera opción siempre fue Ruby, pero tras varios intentos infructuosos he acabado dejándolo y apostando por Groovy (al menos el cambio no es tan brusco).

Ahora mismo estoy enfrascado con Grails in Action, y estoy realmente sorprendido con el lenguaje y con el framework (aunque de Grails sólo he visto un par de cosas). Basta un ejemplo para hacerse una idea:

def sortItems(items, property) {
    items.sort { a, b -> a."${property}" <=> b."${property}" }
}
class Person { String name }
people = [ new Person(name: "Adrián"), new Person(name: "Rubén"), new Person(name: "Lucas") ]
sortItems(people, "name").each { print it.name + " " }
// salida: "Adrián Lucas Rubén"

En las escasas 5 líneas de aquí arriba:

  • Se declara un método para ordenar una colección según una propiedad de los objetos. Esto mismo en Java supondría unas cuantas líneas más (clase anónima implementando Comparator, introspección…).
  • Se declara una clase Person con una única propiedad. No hay getters ni setters, se construyen automáticamente.
  • Se crea una lista con 3 personas. Todo en una sola línea, sin necesidad de crear una colección indicando su interfaz, su implementación concreta, y luego añadir de uno en uno los elementos (o crear un array para añadirlos todos).
  • Se ordena la lista anterior según el nombre de las personas, y se imprime esta propiedad.

Buena muestra del potencial del lenguaje, que no olvidemos se ejecuta sobre la JVM y se puede usar sin problemas en nuestros proyectos Java, al que por el momento sólo veo ventajas.

En definitiva, aconsejado echarle un vistazo para todos aquellos que trabajen con la plataforma Java (y sin olvidar otros lenguajes más que interesantes, como Clojure o Scala). Seguiremos informando.

Escrito por adrian

20 Agosto, 2009 a 22:20

Escrito en Uncategorized

Etiquetado con ,

Una respuesta

Suscríbete a los comentarios mediante RSS.

  1. Hmm… es un paso… hacia el lado oscuro xD

    Andion

    21 Agosto, 2009 a 12:53


Escribe un comentario