SlideShare une entreprise Scribd logo
1  sur  15
www.empoweragile.com
Sobre Mi
Nombre: Danijel Arsenovski
Experiencia: programador, desarrollador, arquitecto de software, autor,
consultor y «coach» ágil etc. Últimamente arqueología Maya.
Blog:
http://blog.refactoringin.net
Sitio:
www.empoweragile.com
Correo electrónico:
danijel.arsenovski@empoweragile.com
LinkedIn:
http://cl.linkedin.com/in/danijelarsenovski
Facebook:
Danijel Arsenovski
Twitter:
@darsenovski

                          www.empoweragile.com
www.empoweragile.com
www.empoweragile.com
La ley de Moore
“El numero de transistores en un circuito
integrado se duplica cada 2 años (aprox.)”
Basado en la miniaturización
N° de transistores ≈ GHz o Gb
Conspiración: Ley Compensatoria de Moore
¿Otra burbuja más?


               www.empoweragile.com
…se esta acabando
Se estancara la industria de software, video
juegos, hardware etc.
Crisis en India, China
¿Guerra, cataclismo?




                www.empoweragile.com
Multinúcleo
¡Es posible mantener la tendencia!
En lugar de hacer las cosas mas
rápido, hagamos mas de una cosa a la
vez
Paralelismo a nivel de hilos
Para poder aprovechar esta capacidad
del procesador, hay que programar
pensado en el paralelismo


                 www.empoweragile.com
Programación paralela vs.
        Programación multi-hilo
Parecido, !=
Multi-hilo
  Asincronismo
  Capacidad de responder (hilo GUI y hilo en fondo)
  Aplicaciones en el servidor
Programación paralela
  cualquier tarea en paralelo
  ej. ordenar una lista.
Programación multi-hilo es compleja (“locks” ->
“deadlocks”)
Se necesitan: abstracciones nuevas y mas sencillas
                    www.empoweragile.com
Groovy y Grails
Groovy
  Lenguaje dinámico (≈ Python, Ruby etc.)
  Expresivo
  Corre sobre JVM y bastante compatible con Java
Grails
  Aplicaciones web Groovy sobre Hibernate y Spring
  “Convención por sobre configuración”
  Scaffolding (“andamiaje”) y inspirado por RoR
  Respaldados por Spring Source
                 www.empoweragile.com
Criticas
Rendimiento




              www.empoweragile.com
…Y en realidad
Micro-benchmarks:
“Java theory and practice: Anatomy of a
flawed microbenchmark”
  JVM –Server
  Compilación dinámica
  Optimizaciones de compilador
Aplicaciones I/O vs aplicaciones de computo
Groovy++
Java            www.empoweragile.com
GPars
Es la librería de programación concurrente en
Groovy (parte de la distribución)
Groovy permite escribir un código concurrente mas
expresivo que Java
GPars soporta múltiples modelos de programación
concurrente:
  Procesamiento de colecciones concurrente
  Actores
  Dataflow
  Fork/Joine
  Etc.             www.empoweragile.com
import groovyx.gpars.ParallelEnhancer
//lista con inferencia de tipos
def animals = ['dog', 'ant', 'cat', 'whale']
//en Java- ¿como?
ParallelEnhancer.enhanceInstance animals
animals.eachParallel{
       //it es variable implícita
       println(it)
}                    www.empoweragile.com
Comunidad Chile Ágil
http://www.chileagil.cl/
   ¡Día Ágil 2011!
   Blog
   Tutoriales: Desafío Kanban
http://groups.google.com/group/chileagil
   Foro
http://failfast.chileagil.cl/
   Preguntas y respuestas parecidas a Stackoverflow.com
@chileagil
   Twitter

                        www.empoweragile.com
Extreme Programming y Software Craftmanship
Desarrollo dirigido por pruebas (Test Driven Development)
Refactoring
Integración Continua
Diseño ágil y fundamentos de orientación a objetos
Diseño Dirigido por el Dominio (DDD) del problema a resolver

http://www.leansight.com/clinica-agil/


                     www.empoweragile.com

Contenu connexe

Similaire à El mundo se acaba en 2012

Grails en Expo FISI 2011
Grails en Expo FISI 2011Grails en Expo FISI 2011
Grails en Expo FISI 2011jose diaz
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Jose Juan R. Zuñiga
 
Presentación estetoscopio
Presentación estetoscopioPresentación estetoscopio
Presentación estetoscopioJuan Rodríguez
 
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Carlos Camacho
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.jsINSIGNIA4U
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCIrontec
 
Automated testing para aplicaciones vo ip, webrtc | CARLOS CURZ, JAVIER INFAN...
Automated testing para aplicaciones vo ip, webrtc | CARLOS CURZ, JAVIER INFAN...Automated testing para aplicaciones vo ip, webrtc | CARLOS CURZ, JAVIER INFAN...
Automated testing para aplicaciones vo ip, webrtc | CARLOS CURZ, JAVIER INFAN...VOIP2DAY
 
Java basico 2
Java basico 2Java basico 2
Java basico 2jtk1
 
Java basico 2
Java basico 2Java basico 2
Java basico 2jtk1
 
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaCommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaIván López Martín
 
Manual.curso.de.java.desde.cero
Manual.curso.de.java.desde.ceroManual.curso.de.java.desde.cero
Manual.curso.de.java.desde.ceroLalo Pérez
 

Similaire à El mundo se acaba en 2012 (20)

Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
 
Grails en Expo FISI 2011
Grails en Expo FISI 2011Grails en Expo FISI 2011
Grails en Expo FISI 2011
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
 
Manual de Java.pdf
Manual de  Java.pdfManual de  Java.pdf
Manual de Java.pdf
 
Manual de Java.pdf
Manual de  Java.pdfManual de  Java.pdf
Manual de Java.pdf
 
Presentación estetoscopio
Presentación estetoscopioPresentación estetoscopio
Presentación estetoscopio
 
Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
 
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013
 
Introducción a groovy
Introducción a groovyIntroducción a groovy
Introducción a groovy
 
Tutorial Java
Tutorial JavaTutorial Java
Tutorial Java
 
Presentacion barcamp
Presentacion barcampPresentacion barcamp
Presentacion barcamp
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
inicios en java
inicios en java inicios en java
inicios en java
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTC
 
Automated testing para aplicaciones vo ip, webrtc | CARLOS CURZ, JAVIER INFAN...
Automated testing para aplicaciones vo ip, webrtc | CARLOS CURZ, JAVIER INFAN...Automated testing para aplicaciones vo ip, webrtc | CARLOS CURZ, JAVIER INFAN...
Automated testing para aplicaciones vo ip, webrtc | CARLOS CURZ, JAVIER INFAN...
 
Java basico 2
Java basico 2Java basico 2
Java basico 2
 
Java basico 2
Java basico 2Java basico 2
Java basico 2
 
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaCommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
 
Gwt I - entendiendo gwt
Gwt I - entendiendo gwtGwt I - entendiendo gwt
Gwt I - entendiendo gwt
 
Manual.curso.de.java.desde.cero
Manual.curso.de.java.desde.ceroManual.curso.de.java.desde.cero
Manual.curso.de.java.desde.cero
 

Dernier

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
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 UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
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 JUNITMaricarmen Sánchez Ruiz
 

Dernier (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
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
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
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
 

El mundo se acaba en 2012

  • 2. Sobre Mi Nombre: Danijel Arsenovski Experiencia: programador, desarrollador, arquitecto de software, autor, consultor y «coach» ágil etc. Últimamente arqueología Maya. Blog: http://blog.refactoringin.net Sitio: www.empoweragile.com Correo electrónico: danijel.arsenovski@empoweragile.com LinkedIn: http://cl.linkedin.com/in/danijelarsenovski Facebook: Danijel Arsenovski Twitter: @darsenovski www.empoweragile.com
  • 5. La ley de Moore “El numero de transistores en un circuito integrado se duplica cada 2 años (aprox.)” Basado en la miniaturización N° de transistores ≈ GHz o Gb Conspiración: Ley Compensatoria de Moore ¿Otra burbuja más? www.empoweragile.com
  • 6. …se esta acabando Se estancara la industria de software, video juegos, hardware etc. Crisis en India, China ¿Guerra, cataclismo? www.empoweragile.com
  • 7. Multinúcleo ¡Es posible mantener la tendencia! En lugar de hacer las cosas mas rápido, hagamos mas de una cosa a la vez Paralelismo a nivel de hilos Para poder aprovechar esta capacidad del procesador, hay que programar pensado en el paralelismo www.empoweragile.com
  • 8. Programación paralela vs. Programación multi-hilo Parecido, != Multi-hilo Asincronismo Capacidad de responder (hilo GUI y hilo en fondo) Aplicaciones en el servidor Programación paralela cualquier tarea en paralelo ej. ordenar una lista. Programación multi-hilo es compleja (“locks” -> “deadlocks”) Se necesitan: abstracciones nuevas y mas sencillas www.empoweragile.com
  • 9. Groovy y Grails Groovy Lenguaje dinámico (≈ Python, Ruby etc.) Expresivo Corre sobre JVM y bastante compatible con Java Grails Aplicaciones web Groovy sobre Hibernate y Spring “Convención por sobre configuración” Scaffolding (“andamiaje”) y inspirado por RoR Respaldados por Spring Source www.empoweragile.com
  • 10. Criticas Rendimiento www.empoweragile.com
  • 11. …Y en realidad Micro-benchmarks: “Java theory and practice: Anatomy of a flawed microbenchmark” JVM –Server Compilación dinámica Optimizaciones de compilador Aplicaciones I/O vs aplicaciones de computo Groovy++ Java www.empoweragile.com
  • 12. GPars Es la librería de programación concurrente en Groovy (parte de la distribución) Groovy permite escribir un código concurrente mas expresivo que Java GPars soporta múltiples modelos de programación concurrente: Procesamiento de colecciones concurrente Actores Dataflow Fork/Joine Etc. www.empoweragile.com
  • 13. import groovyx.gpars.ParallelEnhancer //lista con inferencia de tipos def animals = ['dog', 'ant', 'cat', 'whale'] //en Java- ¿como? ParallelEnhancer.enhanceInstance animals animals.eachParallel{ //it es variable implícita println(it) } www.empoweragile.com
  • 14. Comunidad Chile Ágil http://www.chileagil.cl/ ¡Día Ágil 2011! Blog Tutoriales: Desafío Kanban http://groups.google.com/group/chileagil Foro http://failfast.chileagil.cl/ Preguntas y respuestas parecidas a Stackoverflow.com @chileagil Twitter www.empoweragile.com
  • 15. Extreme Programming y Software Craftmanship Desarrollo dirigido por pruebas (Test Driven Development) Refactoring Integración Continua Diseño ágil y fundamentos de orientación a objetos Diseño Dirigido por el Dominio (DDD) del problema a resolver http://www.leansight.com/clinica-agil/ www.empoweragile.com