El mundo se acaba en 2012

418 views

Published on

Programación paralela en plataforma Java es fácil con Groovy y Grail.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
418
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

El mundo se acaba en 2012

  1. 1. www.empoweragile.com
  2. 2. Sobre MiNombre: Danijel ArsenovskiExperiencia: programador, desarrollador, arquitecto de software, autor,consultor y «coach» ágil etc. Últimamente arqueología Maya.Blog:http://blog.refactoringin.netSitio:www.empoweragile.comCorreo electrónico:danijel.arsenovski@empoweragile.comLinkedIn:http://cl.linkedin.com/in/danijelarsenovskiFacebook:Danijel ArsenovskiTwitter:@darsenovski www.empoweragile.com
  3. 3. www.empoweragile.com
  4. 4. www.empoweragile.com
  5. 5. La ley de Moore“El numero de transistores en un circuitointegrado se duplica cada 2 años (aprox.)”Basado en la miniaturizaciónN° de transistores ≈ GHz o GbConspiración: Ley Compensatoria de Moore¿Otra burbuja más? www.empoweragile.com
  6. 6. …se esta acabandoSe estancara la industria de software, videojuegos, hardware etc.Crisis en India, China¿Guerra, cataclismo? www.empoweragile.com
  7. 7. Multinúcleo¡Es posible mantener la tendencia!En lugar de hacer las cosas masrápido, hagamos mas de una cosa a lavezParalelismo a nivel de hilosPara poder aprovechar esta capacidaddel procesador, hay que programarpensado en el paralelismo www.empoweragile.com
  8. 8. Programación paralela vs. Programación multi-hiloParecido, !=Multi-hilo Asincronismo Capacidad de responder (hilo GUI y hilo en fondo) Aplicaciones en el servidorProgramació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. 9. Groovy y GrailsGroovy Lenguaje dinámico (≈ Python, Ruby etc.) Expresivo Corre sobre JVM y bastante compatible con JavaGrails 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. 10. CriticasRendimiento www.empoweragile.com
  11. 11. …Y en realidadMicro-benchmarks:“Java theory and practice: Anatomy of aflawed microbenchmark” JVM –Server Compilación dinámica Optimizaciones de compiladorAplicaciones I/O vs aplicaciones de computoGroovy++Java www.empoweragile.com
  12. 12. GParsEs la librería de programación concurrente enGroovy (parte de la distribución)Groovy permite escribir un código concurrente masexpresivo que JavaGPars soporta múltiples modelos de programaciónconcurrente: Procesamiento de colecciones concurrente Actores Dataflow Fork/Joine Etc. www.empoweragile.com
  13. 13. import groovyx.gpars.ParallelEnhancer//lista con inferencia de tiposdef animals = [dog, ant, cat, whale]//en Java- ¿como?ParallelEnhancer.enhanceInstance animalsanimals.eachParallel{ //it es variable implícita println(it)} www.empoweragile.com
  14. 14. Comunidad Chile Ágilhttp://www.chileagil.cl/ ¡Día Ágil 2011! Blog Tutoriales: Desafío Kanbanhttp://groups.google.com/group/chileagil Forohttp://failfast.chileagil.cl/ Preguntas y respuestas parecidas a Stackoverflow.com@chileagil Twitter www.empoweragile.com
  15. 15. Extreme Programming y Software CraftmanshipDesarrollo dirigido por pruebas (Test Driven Development)RefactoringIntegración ContinuaDiseño ágil y fundamentos de orientación a objetosDiseño Dirigido por el Dominio (DDD) del problema a resolverhttp://www.leansight.com/clinica-agil/ www.empoweragile.com

×