SlideShare uma empresa Scribd logo
1 de 58
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.
“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
¿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
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
Muy vendible

• Soporte financiero VMWare
• Comunidad muy activa
• Integración empresarial
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?
http://www.oneworldmanypeaces.com/one_world_many_peaces/books/
http://www.oneworldmanypeaces.com/one_world_many_peaces/books/
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!
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

Mais conteúdo relacionado

Destaque

Deber Tecnologias Informacion
Deber Tecnologias InformacionDeber Tecnologias Informacion
Deber Tecnologias Informacion
guestf15e9ecc
 
Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)
Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)
Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)
Titiushko Jazz
 
Fundamentos de DataWareHouse - FISI - UNMSM - DataWareHouse
Fundamentos de DataWareHouse - FISI - UNMSM - DataWareHouseFundamentos de DataWareHouse - FISI - UNMSM - DataWareHouse
Fundamentos de DataWareHouse - FISI - UNMSM - DataWareHouse
Julio Pari
 
Fundamentos De Bi Parte 2
Fundamentos De Bi Parte 2Fundamentos De Bi Parte 2
Fundamentos De Bi Parte 2
Sandra
 
Introducción Bussines Intelligence
Introducción Bussines IntelligenceIntroducción Bussines Intelligence
Introducción Bussines Intelligence
Jorge Soro
 
Bussines Intelligence
Bussines IntelligenceBussines Intelligence
Bussines Intelligence
brobelo
 
Datawarehouse
DatawarehouseDatawarehouse
Datawarehouse
shady85
 

Destaque (20)

Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
On-Line Analytical Processing - DatawareHouse FISI - UNMSM
On-Line Analytical Processing - DatawareHouse FISI - UNMSMOn-Line Analytical Processing - DatawareHouse FISI - UNMSM
On-Line Analytical Processing - DatawareHouse FISI - UNMSM
 
Deber Tecnologias Informacion
Deber Tecnologias InformacionDeber Tecnologias Informacion
Deber Tecnologias Informacion
 
Datawarehouse2
Datawarehouse2Datawarehouse2
Datawarehouse2
 
Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)
Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)
Unidad vii esp parte 3 clase de inteligencia de negocios (datawarehouse)
 
Datawarehouse datamining y gis
Datawarehouse   datamining y gisDatawarehouse   datamining y gis
Datawarehouse datamining y gis
 
OpenAnalytics - Business Intelligence por Emilio Arias
OpenAnalytics - Business Intelligence por Emilio AriasOpenAnalytics - Business Intelligence por Emilio Arias
OpenAnalytics - Business Intelligence por Emilio Arias
 
Datawarehouse
DatawarehouseDatawarehouse
Datawarehouse
 
Business intelligence uoc alumni
Business intelligence uoc alumniBusiness intelligence uoc alumni
Business intelligence uoc alumni
 
Fundamentos de DataWareHouse - FISI - UNMSM - DataWareHouse
Fundamentos de DataWareHouse - FISI - UNMSM - DataWareHouseFundamentos de DataWareHouse - FISI - UNMSM - DataWareHouse
Fundamentos de DataWareHouse - FISI - UNMSM - DataWareHouse
 
Inteligencia de negocios la informacin como factor crtico de exito
Inteligencia de negocios la informacin como factor crtico de exitoInteligencia de negocios la informacin como factor crtico de exito
Inteligencia de negocios la informacin como factor crtico de exito
 
Fundamentos De Bi Parte 2
Fundamentos De Bi Parte 2Fundamentos De Bi Parte 2
Fundamentos De Bi Parte 2
 
Inteligencia De Negocios - Rojas Figueroa Erick
Inteligencia De Negocios - Rojas Figueroa ErickInteligencia De Negocios - Rojas Figueroa Erick
Inteligencia De Negocios - Rojas Figueroa Erick
 
Open Source Business Intelligence 2013 (spanish)
Open Source Business Intelligence 2013 (spanish)Open Source Business Intelligence 2013 (spanish)
Open Source Business Intelligence 2013 (spanish)
 
Introducción Bussines Intelligence
Introducción Bussines IntelligenceIntroducción Bussines Intelligence
Introducción Bussines Intelligence
 
Bussines,comerce
Bussines,comerceBussines,comerce
Bussines,comerce
 
Bussines Intelligence
Bussines IntelligenceBussines Intelligence
Bussines Intelligence
 
Inteligencia De Negocios, en Software Libre
Inteligencia De Negocios, en Software LibreInteligencia De Negocios, en Software Libre
Inteligencia De Negocios, en Software Libre
 
Curso introduccion microsoft_sql_server_business_intelligence
Curso introduccion microsoft_sql_server_business_intelligenceCurso introduccion microsoft_sql_server_business_intelligence
Curso introduccion microsoft_sql_server_business_intelligence
 
Datawarehouse
DatawarehouseDatawarehouse
Datawarehouse
 

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

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

Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
 
Vocab Editor
Vocab EditorVocab Editor
Vocab Editor
 
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
 
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!T3chFest 2016 - 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
Evolución Android: Del Framework a la supervivencia del más fuerteEvolución Android: Del Framework a la supervivencia del más fuerte
Evolución Android: Del Framework a la supervivencia del más fuerte
 
Introducción a groovy
Introducción a groovyIntroducción a groovy
Introducción a groovy
 
Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
 
Introduccion a Groovy
Introduccion a GroovyIntroduccion a Groovy
Introduccion a Groovy
 
JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?
 
Introducción a Ceylon
Introducción a CeylonIntroducción a Ceylon
Introducción a Ceylon
 
El mundo se acaba en 2012
El mundo se acaba en 2012El mundo se acaba en 2012
El mundo se acaba en 2012
 
El mundo se acaba en el 2012
El mundo se acaba en el 2012El mundo se acaba en el 2012
El mundo se acaba en el 2012
 
Fundamentos de Java
Fundamentos de Java Fundamentos de Java
Fundamentos de Java
 
Lenguaje ruby
Lenguaje rubyLenguaje ruby
Lenguaje ruby
 
Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017
 
Charla introducción a processing - 2010/09
Charla introducción a processing - 2010/09Charla introducción a processing - 2010/09
Charla introducción a processing - 2010/09
 
JRuby al Rescate de J2EE
JRuby al Rescate de J2EEJRuby al Rescate de J2EE
JRuby al Rescate de J2EE
 
An Evening with... Go Lang
An Evening with... Go LangAn Evening with... Go Lang
An Evening with... Go Lang
 
Iis daw taller_1.1-ta-herramientas-para-desarrollo-web (rodriguez a. - rodrig...
Iis daw taller_1.1-ta-herramientas-para-desarrollo-web (rodriguez a. - rodrig...Iis daw taller_1.1-ta-herramientas-para-desarrollo-web (rodriguez a. - rodrig...
Iis daw taller_1.1-ta-herramientas-para-desarrollo-web (rodriguez a. - rodrig...
 
Introducción a Grails
Introducción a GrailsIntroducción a Grails
Introducción a Grails
 

Mais de Gailen Tecnologías

From Big GORM-centered into a cloud of fast redis nodes
From Big GORM-centered into a cloud of fast redis nodesFrom Big GORM-centered into a cloud of fast redis nodes
From Big GORM-centered into a cloud of fast redis nodes
Gailen Tecnologías
 

Mais de Gailen Tecnologías (15)

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

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

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

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n