• Save
El mundo se acaba en el 2012
Upcoming SlideShare
Loading in...5
×
 

El mundo se acaba en el 2012

on

  • 527 views

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

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

Statistics

Views

Total Views
527
Slideshare-icon Views on SlideShare
524
Embed Views
3

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 3

http://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    El mundo se acaba en el 2012 El mundo se acaba en el 2012 Presentation Transcript

    • www.empoweragile.com
    • Sobre MiNombre: Danijel ArsenovskiExperiencia: programador, desarrollador, arquitecto desoftware, autor, consultor y «coach» ágil etc. Últimamente arqueologíaMaya.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
    • www.empoweragile.com
    • www.empoweragile.com
    • 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
    • …se esta acabandoSe estancara la industria de software, videojuegos, hardware etc.Crisis en India, China¿Guerra, cataclismo? www.empoweragile.com
    • 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
    • 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
    • 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
    • CriticasRendimiento www.empoweragile.com
    • …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
    • 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
    • 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
    • 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
    • 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