Diferencia entre revisiones de «Groovy»
(→Véase también) (Etiqueta: nuestro-nuestra) |
(Etiqueta: nuestro-nuestra) |
||
| Línea 5: | Línea 5: | ||
|tamaño=200px | |tamaño=200px | ||
}} | }} | ||
| − | '''Groovy''' | + | '''Groovy.''' Es un lenguaje de programación dinámico orientado a objetos implementado sobre la plataforma Java. Tiene características similares a [[Python]], [[Ruby]], [[Perl]] y [[Smalltalk]]. Y al estar implementado sobre la maquina virtual de Java utiliza la gran mayoria de sus librerias. |
| − | |||
== Características == | == Características == | ||
| − | |||
Groovy es un lenguaje dinámico para la máquina virtual que nace en 2003 de la mano de James Strachan y Bob McWhirter, y se estandariza en el JSR-241 un año después. Permite acceder al API estándar [[Java]] desde un enfoque diferente gracias al soporte de funcionalidades como la sobrecarga de operadores, la creación de tipos en tiempo de ejecución o las Closures. Cualquier cosa que pueda hacerse con Groovy es posible también con Java, y viceversa. La diferencia entre ambos lenguajes está en su propia naturaleza, que provoca que el código necesario para una determinada tarea en Groovy sea en promedio unas cinco veces más breve que el equivalente en Java. | Groovy es un lenguaje dinámico para la máquina virtual que nace en 2003 de la mano de James Strachan y Bob McWhirter, y se estandariza en el JSR-241 un año después. Permite acceder al API estándar [[Java]] desde un enfoque diferente gracias al soporte de funcionalidades como la sobrecarga de operadores, la creación de tipos en tiempo de ejecución o las Closures. Cualquier cosa que pueda hacerse con Groovy es posible también con Java, y viceversa. La diferencia entre ambos lenguajes está en su propia naturaleza, que provoca que el código necesario para una determinada tarea en Groovy sea en promedio unas cinco veces más breve que el equivalente en Java. | ||
Groovy nació 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 otros lenguajes como [[Python]], [[Smalltalk]] o [[Ruby]]. Así, el código fuente Groovy se compila a bytecodes igual que Java, y es posible instanciar objetos Java desde Groovy y viceversa. Lo que Groovy aporta es una sintaxis que aumenta enormemente la productividad y un entorno de ejecución que nos permite manejar los objetos de formas que en Java serían extremadamente complicado. | Groovy nació 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 otros lenguajes como [[Python]], [[Smalltalk]] o [[Ruby]]. Así, el código fuente Groovy se compila a bytecodes igual que Java, y es posible instanciar objetos Java desde Groovy y viceversa. Lo que Groovy aporta es una sintaxis que aumenta enormemente la productividad y un entorno de ejecución que nos permite manejar los objetos de formas que en Java serían extremadamente complicado. | ||
| Línea 26: | Línea 24: | ||
== Ventajas == | == Ventajas == | ||
| − | |||
Compatibilidad con todo el código heredado Java. | Compatibilidad con todo el código heredado Java. | ||
La potencia y robustez de Java en aquellas áreas en que sea necesario. | La potencia y robustez de Java en aquellas áreas en que sea necesario. | ||
| Línea 36: | Línea 33: | ||
* Automatización de tareas y desarrollo de Scripts. | * Automatización de tareas y desarrollo de Scripts. | ||
* Programación dinámica (creación y alteración de tipos de datos en tiempo de ejecución). | * Programación dinámica (creación y alteración de tipos de datos en tiempo de ejecución). | ||
| − | |||
| − | |||
== Fuente == | == Fuente == | ||
| − | + | *http://www.dosideas.com/cursos/mod/resource/view.php?id=107 | |
| − | http://www.dosideas.com/cursos/mod/resource/view.php?id=107 | + | *http://www.escueladegroovy.com/informacion/groovy-grails |
| − | |||
| − | http://www.escueladegroovy.com/informacion/groovy-grails | ||
[[Category:Lenguajes_de_programación_orientada_a_objetos]][[Category:Herramientas_de_programación]][[Category:Informática]] | [[Category:Lenguajes_de_programación_orientada_a_objetos]][[Category:Herramientas_de_programación]][[Category:Informática]] | ||
Revisión del 09:31 2 dic 2011
| ||||
Groovy. Es un lenguaje de programación dinámico orientado a objetos implementado sobre la plataforma Java. Tiene características similares a Python, Ruby, Perl y Smalltalk. Y al estar implementado sobre la maquina virtual de Java utiliza la gran mayoria de sus librerias.
Características
Groovy es un lenguaje dinámico para la máquina virtual que nace en 2003 de la mano de James Strachan y Bob McWhirter, y se estandariza en el JSR-241 un año después. Permite acceder al API estándar Java desde un enfoque diferente gracias al soporte de funcionalidades como la sobrecarga de operadores, la creación de tipos en tiempo de ejecución o las Closures. Cualquier cosa que pueda hacerse con Groovy es posible también con Java, y viceversa. La diferencia entre ambos lenguajes está en su propia naturaleza, que provoca que el código necesario para una determinada tarea en Groovy sea en promedio unas cinco veces más breve que el equivalente en Java. Groovy nació 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 otros lenguajes como Python, Smalltalk o Ruby. Así, el código fuente Groovy se compila a bytecodes igual que Java, y es posible instanciar objetos Java desde Groovy y viceversa. Lo que Groovy aporta es una sintaxis que aumenta enormemente la productividad y un entorno de ejecución que nos permite manejar los objetos de formas que en Java serían extremadamente complicado.
Closures
Una closure se podría describir como un bloque de código reutilizable, que retiene la información entorno donde fueron definidos. Esta forma de trabajo es muy parecida a JavaScript, ya que es muy parecido a la definición de una función anónima en un script. Las closures pueden recibir parámetros, puesto que los tipos de Groovy son opcionales, sólo es necesario escribir el nombre del parámetro. El uso de closures es tan común, que si no se ha definido un parámetro específico de todos modos estará disponible una variable it que representa el valor del parámetro.
def printOut = {
print it
}
(0..9).each(printout)
La implementación de las closures implica un gran avance en el mundo de la programación, debido a que no es necesario crear un nuevo método pudiendo utilizar las variables locales del actual.
Ventajas
Compatibilidad con todo el código heredado Java. La potencia y robustez de Java en aquellas áreas en que sea necesario. La posibilidad de usar Groovy para aumentar nuestra productividad en áreas como:
- Código de integración entre componentes.
- Código de configuración.
- Lenguajes de dominio específico (DSLs)
- Capa de presentación (Swing, web)
- Automatización de tareas y desarrollo de Scripts.
- Programación dinámica (creación y alteración de tipos de datos en tiempo de ejecución).
