¿Groovy?

Groovy es un lenguaje de programación dinámico pensado para ejecutarse sobre la JVM (máquina virtual de java).  Se puede considerar como un lenguaje de scripting con caractreristicas similares a Ruby o Python.

Pueden descargar e instalar Groovy aquí.

Permitanme explicarme a través de un ejemplo:

package net.zonical.tareas;
 
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
 
public class Tarea {
 
	private String nombre;
	private String notas;
 
	public Tarea() {}
 
	public Todo(String nombre, String notas) {
		this.nombre = nombre;
		this.notas = notas;
	}
 
	public String getNombre() {
		return nombre;
	}
 
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
 
	public String getNotas() {
		return notas;
	}
 
	public void setNote(String notas) {
		this.notas = notas;
	}
 
	public static void main(String[] args) {
		List tareas = new ArrayList();
		tareas.add(new Tarea("Primera","Primer nueva tarea"));
		tareas.add(new Tarea("Segunda","Segunda tarea"));
		tareas.add(new Tarea("Tercera","Tarea final"));
 
		for(Iterator iter = tareas.iterator(); iter.hasNext();) {
			Tarea = (Tarea)iter.next();
			System.out.println(tarea.getNombre() + " " + tarea.getNotas());
		}
	}
}

Esto es un pequeño POJO (se puede probar guardandolo como Tarea.groovy y ejecutando groovy Tarea.groovy) para manejar tareas, 47 líneas…

y si hiciera esto:

package net.zonical.tareas;
 
public class Tarea {
 
	String nombre
	String notas
}
 
def tareas = [
	new Tarea(nombre:"Primera", notas:"Primer nueva tarea"),
	new Tarea(nombre:"Segunda", notas:"Segunda tarea"),
	new Tarea(nombre:"Tercera", notas:"Tarea final")			
]
 
tareas.each {
	println "${it.nombre} ${it.notas}"
}

Guardelo como Tareas.groovy y ejecutelo con groovy Tareas.groovy, mismo resultado… ¿no?

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • email
  • StumbleUpon
  • Technorati
  • DZone
  • LinkedIn
  • Linkter
  • Netvouz
  • YahooMyWeb
  • blogmarks
  • TwitThis

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">