henmanuel / Talleres.madrid-js.programacion-funcional

Taller de Programación Funcional impartido para Madrid JS el 16/01/2016.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Taller de Programación Funcional en JavaScript

Keywords

Programación Funcional - JavaScript - Mecanismos & Técnicas de Programación - Patrones de Diseño Funcional - Mónadas - Inversión de Control - Arquitecturas Reactivas - Secuenciamiento - Orden Superior - Evaluación Parcial - Currificación - Decoración Funcional - Optimización

Resumen

La programación funcional está cogiendo fuerte tracción en los últimos años dentro de la comunidad de desarrollo. Tal vez ello se deba al surgimiento de nuevas arquitecturas que demandan cotas de escalabilidad, resistencia y flexibilidad en el marco de soluciones centradas en procesos de transformación. Pero más allá de una simple moda, como trataremos de mostrar en este taller, la programación funcional conduce a soluciones de código robustas, versátiles y expresivas que difícilmente son comparables con las propias de la orientación a objetos.

Además JavaScript, como la mayoría de los lenguajes de scripting es un lenguaje idiomático que invita a pensar en términos funcionales. De hecho muchas veces, cuando programamos en Javascript, desarrollamos soluciones funcionales casi sin darnos cuenta. Pero para trabajar correctamente en el marco de este paradigma debemos saber, qué es exactamente la programación funcional, cuáles son sus ventajas y principios fundacionales, de qué mecanismos se sirve, qué técnicas de programación se utilizan, qué patrones de diseño funcional existen a nuestra disposición y qué estilos arquitectónicos emergen.

Este taller trata de dar una introducción a la programación funcional que comienza desde lo más básico y va pasando progresivamente hacia conceptos más avanzados. A continuación se resume una relación del programa de contenidos para que os hagáis una idea de lo que se va a abordar.

  • Diseño de Funciones I. Recursión
  • Diseño de Funciones II. Inmersion
  • Orden Superior I. Famila map & reduce
  • Orden Superior II. Evaluación Partial
  • Orden Superior III. Closures & Retentión Léxica
  • Composición I. compose & sequence
  • Composición II. Inversión de control
  • Composición III. Streams
  • Diseño sin Estado I. Fundamentos
  • Diseño sin Estado II. Mónadas
  • Conceptos Avanzados I. Optimización
  • Conceptos Avanzados II.Inmutabilidad

Todos estos temas se abordan en 12 ficheros .js que se encuentran en la carpeta code/. Para falilitar la realización y autoevaluación, el material de este taller se ha dividido en dos carpetas. En code/problems puede encontrarse una descripción de cada ejercicio planteado junto con una plantilla de código que ayuda a escribir la solución y probarla. En la carpeta code/solutions se ofrece una propuesta de solución para cada ejercicio planteado. Se anima al lector a no consultar la solución hasta haber intentando cada ejercicio por si mismo.

Biografía

Licenciado por la UPM desde el año 2001 y doctor en informática por la UNED desde el año 2009, Javier conjuga sus labores como profesor e investigador con la consultoría y la formación técnica para empresa. Su línea de trabajo actual se centra en la innovación y desarrollo de tecnologías para la Web. Además realiza actividades de evangelización y divulgación en diversas comunidades IT y es coordinador de varios grupos de ámbito local como NodeJS Madrid o Madrid JS. Forma parte del programa Polymer Polytechnic Speaker y es mentor del capítulo de Madrid de Node School.

Tags

  • Desarrollado Front/Back
  • Evangelización Web
  • Arquitectura Software
  • Formación & Consultoría IT
  • e-learning
  • Diseño de Sistemas de Colaboración
  • Learning Analytics
  • Gamificación Colaborativa

Contacto

  • eMail: javier.velez.reyes@gmail.com
  • Twitter: @javiervelezreye
  • LinkedIn: inkedin.com/in/javiervelezreyes
  • Google+: gplus.to/javiervelezreyes
  • Slideshare: jvelez77
  • Github: javiervelezreyes
  • Youtube: youtube.com/user/javiervelezreyes

Referencias

About

Taller de Programación Funcional impartido para Madrid JS el 16/01/2016.


Languages

Language:JavaScript 100.0%