SlideShare una empresa de Scribd logo
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

Más contenido relacionado

PDF
Conferencia-presentación Javascript
ODP
Sobre GrooScript
PDF
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
PDF
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
PPTX
El Emperador No Tiene Traje
PPT
Volviendo a poner el “soft” en software
PPTX
El mundo se acaba en 2012
PDF
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente
Conferencia-presentación Javascript
Sobre GrooScript
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
El Emperador No Tiene Traje
Volviendo a poner el “soft” en software
El mundo se acaba en 2012
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente

Similar a El mundo se acaba en el 2012 (20)

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

Último (20)

PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
El uso de las TIC en la vida cotidiana..
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
Historia Inteligencia Artificial Ana Romero.pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Influencia-del-uso-de-redes-sociales.pdf
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Power Point Nicolás Carrasco (disertación Roblox).pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
El uso de las TIC en la vida cotidiana..
Sesion 1 de microsoft power point - Clase 1
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Mecanismos-de-Propagacion de ondas electromagneticas
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
historia_web de la creacion de un navegador_presentacion.pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
Publicidad

El mundo se acaba en el 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: [email protected] 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