Groovy
Un nombre tonto para una palanca de
     productividad sobre Java


                            Jorge Uriarte Aretxaga
                                    @jorgeuriarte
                                2 de Junio de 2012
Demographics...

              ¿Edad?
    ¿Experiencia profesional?
     ¿Conocimientos en Java?
             ¿Spring?
¿Conocimientos en Groovy / Grails?
      ¿Ruby / Rails? ¿Python?
¿Por qué preocuparnos
  por el lenguaje de
    programación?
Hipótesis de Sapir-Whorf
  • Fuerte: El lenguaje que utilizamos, y
    aprendemos desde niños, determina
    fuertemente nuestro pensamiento.
Hipótesis de Sapir-Whorf
  • Debil: Existen diferencias
    estadísticamente significativas en
    la forma en que los hablantes de
    distintas lenguas afrontan o
    resuelven los mismos problemas.
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
“A language that doesn’t affect
the way you think about programming
       is not worth knowing.”

              “Epigrams in programming #19”
                 Alan Perlis (1922 - 1990)
                 http://www.cs.yale.edu/quotes.html
Groovy: Un nombre
      tonto
Groovy: Un nombre tonto para una palanca de productividad sobre Java
¿Qué aporta groovy?
Lenguaje dinámico
     para la JVM

• JRuby, JPython, Scala, ...
Mejoras en el lenguaje
• Tipos dinámicos
• Closures
• Sintáxis nativa para colecciones
• Builders
• Soporte para DSLs
• Metaprogramación y transformación AST
Tipos dinámicos
Tipos dinámicos
Closures
Closures
Colecciones nativas
Colecciones nativas
Colecciones nativas
Builders
Builders
DSLs




http://www.intelligrape.com/blog/2012/03/22/writing-sentences-with-groovy-2-0/
DSLs




http://www.intelligrape.com/blog/2012/03/22/writing-sentences-with-groovy-2-0/
DSLs




http://www.intelligrape.com/blog/2012/03/22/writing-sentences-with-groovy-2-0/
DSLs




http://www.intelligrape.com/blog/2012/03/22/writing-sentences-with-groovy-2-0/
Integración completa
    Java <> Groovy
• Compilador conjunto
• Runtime compartido
• Acceso libre a todo el ecosistema
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Fullstack
• Spring framework preconfigurado
• Spring MVC, sitemesh, ...
• GORM - Magia en la persistencia
• Hibernate, redis, mongodb, ...
• JSON, WS, remoting, ...
• Entorno de desarrollo completo
Convención sobre
 Configuración
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Muy vendible

• Soporte financiero VMWare
• Comunidad muy activa
• Integración empresarial
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Todo framework envuelve
 una complejidad que se
manifestará, de una u otra
   forma, en las capas
       superiores
“La magia existe, pero *todo*
       tiene un precio.
  Hay que conocer el precio
  antes de ejercer el poder.”
Are
frameworks
   EVIL?
Are
frameworks
   EVIL?
Groovy: Un nombre tonto para una palanca de productividad sobre Java
http://www.oneworldmanypeaces.com/one_world_many_peaces/books/
http://www.oneworldmanypeaces.com/one_world_many_peaces/books/
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
No necesitas tests
No necesitas tests
No necesitas tests
             Mira ama,
            ¡sin manos!
No necesitas tests
             Mira ama,
            ¡sin manos!
No necesitas tests
             Mira ama,
            ¡sin manos!
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Is Java the new COBOL?
Is Java the new COBOL?
“The only difference(!) between
Shakespeare and you was the size of his
     idiom list - not the size of his
              vocabulary.”
                 “Epigrams in programming #10”
                    Alan Perlis (1922 - 1990)
                    http://www.cs.yale.edu/quotes.html
Groovy: Un nombre tonto para una palanca de productividad sobre Java

Más contenido relacionado

PPTX
Bussines intelligence
PPTX
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
PPTX
bussines intelligence
PPTX
BUSINESS INTELLIGENCE
PDF
Implementacion de bi
PDF
Top 7 MSBI Advantages Over Other BI Tools
PPT
Balanced Scorecard: Business Intelligence
PDF
Cuando éramos tres esto lo hacíamos en una semana...
Bussines intelligence
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
bussines intelligence
BUSINESS INTELLIGENCE
Implementacion de bi
Top 7 MSBI Advantages Over Other BI Tools
Balanced Scorecard: Business Intelligence
Cuando éramos tres esto lo hacíamos en una semana...

Destacado (20)

PPTX
Business intelligence
PDF
On-Line Analytical Processing - DatawareHouse FISI - UNMSM
PPTX
Deber Tecnologias Informacion
PPTX
Datawarehouse2
PPTX
Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)
PDF
Datawarehouse datamining y gis
PPTX
OpenAnalytics - Business Intelligence por Emilio Arias
PPSX
Datawarehouse
PPTX
Business intelligence uoc alumni
PDF
Fundamentos de DataWareHouse - FISI - UNMSM - DataWareHouse
PDF
Inteligencia de negocios la informacin como factor crtico de exito
PPTX
Fundamentos De Bi Parte 2
PPTX
Inteligencia De Negocios - Rojas Figueroa Erick
PPT
Open Source Business Intelligence 2013 (spanish)
PPTX
Introducción Bussines Intelligence
PPTX
Bussines Intelligence
ODP
Inteligencia De Negocios, en Software Libre
PDF
Curso introduccion microsoft_sql_server_business_intelligence
PDF
Datawarehouse
Business intelligence
On-Line Analytical Processing - DatawareHouse FISI - UNMSM
Deber Tecnologias Informacion
Datawarehouse2
Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)
Datawarehouse datamining y gis
OpenAnalytics - Business Intelligence por Emilio Arias
Datawarehouse
Business intelligence uoc alumni
Fundamentos de DataWareHouse - FISI - UNMSM - DataWareHouse
Inteligencia de negocios la informacin como factor crtico de exito
Fundamentos De Bi Parte 2
Inteligencia De Negocios - Rojas Figueroa Erick
Open Source Business Intelligence 2013 (spanish)
Introducción Bussines Intelligence
Bussines Intelligence
Inteligencia De Negocios, en Software Libre
Curso introduccion microsoft_sql_server_business_intelligence
Datawarehouse
Publicidad

Similar a Groovy: Un nombre tonto para una palanca de productividad sobre Java (20)

PDF
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
PDF
Vocab Editor
PDF
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
PDF
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
PDF
Evolución Android: Del Framework a la supervivencia del más fuerte
PDF
Introducción a groovy
PDF
Eleva tu capacidad con Groovy
PDF
Introduccion a Groovy
PDF
JRuby ¿Lo mejor de dos mundos?
ODP
Introducción a Ceylon
PPTX
El mundo se acaba en 2012
PPTX
El mundo se acaba en el 2012
PPTX
Fundamentos de Java
PPTX
Lenguaje ruby
PDF
Swift sin hype y su importancia en el 2017
ODT
Charla introducción a processing - 2010/09
KEY
JRuby al Rescate de J2EE
PDF
An Evening with... Go Lang
DOCX
Iis daw taller_1.1-ta-herramientas-para-desarrollo-web (rodriguez a. - rodrig...
PPT
Introducción a Grails
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Vocab Editor
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
Evolución Android: Del Framework a la supervivencia del más fuerte
Introducción a groovy
Eleva tu capacidad con Groovy
Introduccion a Groovy
JRuby ¿Lo mejor de dos mundos?
Introducción a Ceylon
El mundo se acaba en 2012
El mundo se acaba en el 2012
Fundamentos de Java
Lenguaje ruby
Swift sin hype y su importancia en el 2017
Charla introducción a processing - 2010/09
JRuby al Rescate de J2EE
An Evening with... Go Lang
Iis daw taller_1.1-ta-herramientas-para-desarrollo-web (rodriguez a. - rodrig...
Introducción a Grails
Publicidad

Más de Gailen Tecnologías (15)

PDF
Agile for Scrummies - BilboStack
PDF
El síndrome de Niggle, la orientación a objetos, y la Familia de Juan Carlos I
PDF
¿Cuándo dejamos de ser personas para convertirnos en organizaciones?
PDF
Economías de escala en Agile. Respondiendo a la pregunta incorrecta
PDF
Presentacion cas2013
PDF
From Big GORM-centered into a cloud of fast redis nodes
KEY
Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches
PDF
Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2
PDF
Deconstructing grails-i18n-fields plugin
PPT
La alternativa ágil - Uniencounter
PDF
Grails y EC2 - De cero a multinacional
PPT
Gailen - En 3 minutos
PPT
¿Agile y distribuido?
PPT
Transición a proyectos ágiles
PPT
Priorización del Valor del Negocio - Euskadi Invest
Agile for Scrummies - BilboStack
El síndrome de Niggle, la orientación a objetos, y la Familia de Juan Carlos I
¿Cuándo dejamos de ser personas para convertirnos en organizaciones?
Economías de escala en Agile. Respondiendo a la pregunta incorrecta
Presentacion cas2013
From Big GORM-centered into a cloud of fast redis nodes
Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches
Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2
Deconstructing grails-i18n-fields plugin
La alternativa ágil - Uniencounter
Grails y EC2 - De cero a multinacional
Gailen - En 3 minutos
¿Agile y distribuido?
Transición a proyectos ágiles
Priorización del Valor del Negocio - Euskadi Invest

Último (20)

PDF
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
PPTX
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
PDF
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
PPTX
Procesamiento-del-Lenguaje-Natural-Un-Viaje-Paso-a-Paso.pptx
PPTX
TECNOLOGIA EDUCATIVA...........pptx.....
DOCX
Nombre del estudiante Gabriela Benavides
DOCX
Informee_APA_Microbittrabajoogrupal.docx
DOCX
tablas tecnologia maryuri vega 1....docx
PDF
Teoría de estadística descriptiva y aplicaciones .pdf
PPTX
Uso responsable de la tecnología - EEST N°1
PPTX
Presentación final ingenieria de metodos
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
DOCX
Trabajo informatica joel torres 10-.....................
DOCX
Guía 5. Test de orientación Vocacional 2 NICOL.docx
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
PPTX
Sistema de Gestión Integral TCA Ingenieros.pptx
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
PDF
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
Procesamiento-del-Lenguaje-Natural-Un-Viaje-Paso-a-Paso.pptx
TECNOLOGIA EDUCATIVA...........pptx.....
Nombre del estudiante Gabriela Benavides
Informee_APA_Microbittrabajoogrupal.docx
tablas tecnologia maryuri vega 1....docx
Teoría de estadística descriptiva y aplicaciones .pdf
Uso responsable de la tecnología - EEST N°1
Presentación final ingenieria de metodos
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
Trabajo informatica joel torres 10-.....................
Guía 5. Test de orientación Vocacional 2 NICOL.docx
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
Sistema de Gestión Integral TCA Ingenieros.pptx
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk

Groovy: Un nombre tonto para una palanca de productividad sobre Java

Notas del editor