SlideShare una empresa de Scribd logo
Seminario de Ing. en Informática
               Cátedra: Pablo Cosso

Colaborador: Nicolás Bello Camilletti
               2do cuatrimestre 2011
¿Que es Groovy?
 Lenguaje ágil y dinámico para la JVM

 Basado en Python, Ruby, Perl y Smalltalk

 Curva de aprendizaje casi nula

 Facilita la escritura de scripts

 Soporta Domain Specific Languages (DSL)

 Integración con Java
Historia
 29/08/2003: post de James Strachan  Nace Groovy.

 16/03/2004: Propuesta JSR 241

 29/03/2004: Se aprueba la JSR 241

 02/01/2007: se lanza la versión 1.0

 07/12/2007: versión 1.1  se renombra a 1.5

 Actualmente -> 1.8.#
Características
 Lenguaje interpretado

 Orientado a Objetos

 Fuertemente tipado

 Duck Typing (tipado dinámico)

 Se ejecuta sobre la JVM

 Soporte para DSL
Variables
 Tipado estático
   Escribiendo el tipo explícitamente



 Tipado dinámico
   Utilizando la palabra reservada def
Sistema de Tipos
 Numeros Enteros    Colecciones
    Integer
                        List
    Long
                        Map
    BigInteger
                        Set
    Byte

    Short           Rangos
 Punto flotante     Strings
    BigDecimal

    Float           Expresiones Regulares
    Double
                     Boolean
Colecciones – Listas
Colecciones - Maps
Colecciones - Rangos
Strings y GStrings
Expresiones Regulares
Groovy Truth
 Boolean
 Cosas que son false
    Colecciones vacías(listas, maps)
    Iteradores y enumeradores sin mas elementos
    Strings vacios
    Matchers de regex que no coinciden (=~)
    Cero
    null
Condicionales
Ciclos
Métodos
Closures (1)
 { [param1, param2 …] -> sentencia1; sentencia2... }
Closures (2)
Ciclos con closures (1)
 Each




 EachWithIndex


 Times
Ciclos con closures (2)
 Collect




 FindAll
Operadores
 Colección*.operación


   Aplica la operación a cada elemento de la colección


 objeto?.operación  elvis operator

   Similar a
Orientación a Objetos (1)
Orientación a Objetos (2)
OO (3) - Interfaces
GroovyBeans (1)
GroovyBeans (2)
 Con access modifier
    Field

 Sin access modifier
    Field privado
    Mas getter y setter públicos (una property). Se pueden sobreescribir

 Property final
    Field privado como final
    Solo getter
Expando
Implementando Interfaces con Map
Excepciones
Concurrencia
Domain Specific Languages
 Muy buen soporte

 Concepto de Builders

 Sobrecarga de operadores

 Closures como parámetros

 Y muchos mas…
Soporte para Lenguajes de Marcado
Diferencias con java
 Defaults imports

 == es equals

 Return opcional

 This en métodos estáticos para clase

 The Groovy way… 
Ejemplos
 Java




 Groovy
Programación de GUI
 Wrapper de Swing  Usa Builders
Usar Groovy en:
 Integración de componentes

 Modelos de negocio muy dinámicos

 Pruebas de concepto

 Proyectos rápidos y chicos

 Scripting
No usar Groovy en:
 Algoritmos complejos
    Cálculos intensivos

 Manejo de grandes cantidades de datos
    Problema con creación de objetos por ser dinámico

 Sistemas con
    Requerimientos bien definidos

    Pocas posibilidades de evolución

 Proyectos muy grandes
Groovy
Groovy
Groovy
Groovy

Más contenido relacionado

Similar a Groovy

Grails en Expo FISI 2011
Grails en Expo FISI 2011Grails en Expo FISI 2011
Grails en Expo FISI 2011
jose diaz
 
Lenguaje de programación Ruby
Lenguaje de programación RubyLenguaje de programación Ruby
Lenguaje de programación Ruby
Cristian Alejandro Rojas Quintero
 
Manual De Javascript
Manual De JavascriptManual De Javascript
Manual De Javascript
Steven Gomez
 
Javascript
JavascriptJavascript
Javascript
Georgi Ivanov
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
Boris Villon
 
javascript
 javascript javascript
javascript
Claudio Padron
 
Javascript
JavascriptJavascript
Javascript
Walter Carmona
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
Crisworks
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
David Blanco
 
Manual javascript
Manual javascriptManual javascript
Manual javascript
Hinovska
 
Clase15
Clase15Clase15
Clase15
Areli Gómez
 
Introducción a RubyOnRails
Introducción a RubyOnRailsIntroducción a RubyOnRails
Introducción a RubyOnRails
Pablo Marrero
 
Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)
Videoconferencias UTPL
 
Curso prog sist
Curso prog sistCurso prog sist
Curso prog sist
Tony Potter
 
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Eudris Cabrera
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
Emilio Aviles Avila
 
Realizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaRealizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y Eficacia
Andres Almiray
 
Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018
Eudris Cabrera
 
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserTypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
Micael Gallego
 
Desarrollo web en Nodejs con Pillars por Chelo Quilón
Desarrollo web en Nodejs con Pillars por Chelo QuilónDesarrollo web en Nodejs con Pillars por Chelo Quilón
Desarrollo web en Nodejs con Pillars por Chelo Quilón
betabeers
 

Similar a Groovy (20)

Grails en Expo FISI 2011
Grails en Expo FISI 2011Grails en Expo FISI 2011
Grails en Expo FISI 2011
 
Lenguaje de programación Ruby
Lenguaje de programación RubyLenguaje de programación Ruby
Lenguaje de programación Ruby
 
Manual De Javascript
Manual De JavascriptManual De Javascript
Manual De Javascript
 
Javascript
JavascriptJavascript
Javascript
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
 
javascript
 javascript javascript
javascript
 
Javascript
JavascriptJavascript
Javascript
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
 
Manual javascript
Manual javascriptManual javascript
Manual javascript
 
Clase15
Clase15Clase15
Clase15
 
Introducción a RubyOnRails
Introducción a RubyOnRailsIntroducción a RubyOnRails
Introducción a RubyOnRails
 
Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)
 
Curso prog sist
Curso prog sistCurso prog sist
Curso prog sist
 
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
 
Realizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaRealizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y Eficacia
 
Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018
 
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserTypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
 
Desarrollo web en Nodejs con Pillars por Chelo Quilón
Desarrollo web en Nodejs con Pillars por Chelo QuilónDesarrollo web en Nodejs con Pillars por Chelo Quilón
Desarrollo web en Nodejs con Pillars por Chelo Quilón
 

Más de Nicolás Bello Camilletti

Novedades en CI/CD
Novedades en CI/CDNovedades en CI/CD
Novedades en CI/CD
Nicolás Bello Camilletti
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
Nicolás Bello Camilletti
 
Personalizando experiencias de usuario con Reinforcement learning y Azure
Personalizando experiencias de usuario con Reinforcement learning y AzurePersonalizando experiencias de usuario con Reinforcement learning y Azure
Personalizando experiencias de usuario con Reinforcement learning y Azure
Nicolás Bello Camilletti
 
Progressive Web Apps - Workshop
Progressive Web Apps - WorkshopProgressive Web Apps - Workshop
Progressive Web Apps - Workshop
Nicolás Bello Camilletti
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nicolás Bello Camilletti
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nicolás Bello Camilletti
 
Introducción a .NET Core y Docker
Introducción a .NET Core y DockerIntroducción a .NET Core y Docker
Introducción a .NET Core y Docker
Nicolás Bello Camilletti
 
Progressive Web Apps - .NET Conf CO 2017
Progressive Web Apps - .NET Conf CO 2017Progressive Web Apps - .NET Conf CO 2017
Progressive Web Apps - .NET Conf CO 2017
Nicolás Bello Camilletti
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nicolás Bello Camilletti
 
Creando una SPA con Angular y ASP.NET Core
Creando una SPA con Angular y ASP.NET CoreCreando una SPA con Angular y ASP.NET Core
Creando una SPA con Angular y ASP.NET Core
Nicolás Bello Camilletti
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
Nicolás Bello Camilletti
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
Nicolás Bello Camilletti
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
Nicolás Bello Camilletti
 
Clase Html + CSS
Clase Html + CSSClase Html + CSS
Clase Html + CSS
Nicolás Bello Camilletti
 
Windows Azure DPE Toolkits
Windows Azure DPE ToolkitsWindows Azure DPE Toolkits
Windows Azure DPE Toolkits
Nicolás Bello Camilletti
 
Grails
GrailsGrails

Más de Nicolás Bello Camilletti (16)

Novedades en CI/CD
Novedades en CI/CDNovedades en CI/CD
Novedades en CI/CD
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Personalizando experiencias de usuario con Reinforcement learning y Azure
Personalizando experiencias de usuario con Reinforcement learning y AzurePersonalizando experiencias de usuario con Reinforcement learning y Azure
Personalizando experiencias de usuario con Reinforcement learning y Azure
 
Progressive Web Apps - Workshop
Progressive Web Apps - WorkshopProgressive Web Apps - Workshop
Progressive Web Apps - Workshop
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Introducción a .NET Core y Docker
Introducción a .NET Core y DockerIntroducción a .NET Core y Docker
Introducción a .NET Core y Docker
 
Progressive Web Apps - .NET Conf CO 2017
Progressive Web Apps - .NET Conf CO 2017Progressive Web Apps - .NET Conf CO 2017
Progressive Web Apps - .NET Conf CO 2017
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Creando una SPA con Angular y ASP.NET Core
Creando una SPA con Angular y ASP.NET CoreCreando una SPA con Angular y ASP.NET Core
Creando una SPA con Angular y ASP.NET Core
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Clase Html + CSS
Clase Html + CSSClase Html + CSS
Clase Html + CSS
 
Windows Azure DPE Toolkits
Windows Azure DPE ToolkitsWindows Azure DPE Toolkits
Windows Azure DPE Toolkits
 
Grails
GrailsGrails
Grails
 

Último

Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
alejandromanuelve
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 

Último (20)

Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 

Groovy

Notas del editor

  1. FilosofíaLenguaje ágil y dinámico para la Java Virtual MachinePuntos fuertes de Java pero con características adicionales inspiradas en lenguajes como Python, Ruby y SmalltalkCurva de aprendizaje casi nula para desarrolladores JavaCódigo fácil de leer y mantener.Facilita la escritura de scripts Reducción de código estructural en aplicaciones web, GUI, de bases de datos o de consolaSimplifica el testeoSe integra sin problemas a objetos Java y librerías existentes.Compila directamente a bytecode de la JVM.Groovy is licensed under the Apache 2 license:http://www.apache.org/licenses/LICENSE-2.0.html
  2. 29/08/2003: James Strachan hace un post en su blog dándole nacimiento a Groovy.16/03/2004: se propone al JCP, bajo la JSR 241 la especificación de Groovy dentro de la JVMJava Specification Request241: The Groovy Programming Language29/03/2004: se aprueba de forma unánime por todo el comité. La especificación se larga con una licencia estilo BSD / Apache02/01/2007: se lanza la versión 1.0 y durante este año Groovy gana el premio JAX al proyecto más innovador y creativo del año.
  3. // Ahora vemos que cambiando la variable cambiamos el closure
  4. An Expando is different from a map in that you can provide synthetic methods that you can call on the object.The player.greeting assignment passes in a closure to execute when greeting() is called on the Expando. Notice that the closure has access to the properties assigned to the Expando, even though these values may change over time, using Groovy's GString "$variableOrProperty" notation.
  5. Builders are based on the builder pattern from the GOF design pattern book. It provides a way to build your own DSL and represents a powerful concept in Groovy
  6. Default imports:java.io.*java.lang.*java.math.BigDecimaljava.math.BigIntegerjava.net.*java.util.*groovy.lang.*groovy.util.*