SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
02
¿Qué es la 

programación
funcional?
¿Qué es la programación funcional?
Historia
La programación funcional se basa en la construcción de programas
utilizando funciones puras, sin efectos secundarios.
¿Qué es la programación funcional?
Historia
Para entender el presente de la programación funcional
demos un vistazo al pasado…
¿Qué es la programación funcional?
Historia
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
Entscheidungsproblem
ntscheidungsproblem
¿Entscheidungsproblem?
¿Qué es la programación funcional?
Historia
David Hilbert
1862 - 1943
En 1928 planteó el Entscheidungsproblem (problema de decisión), buscaba un
procedimiento capaz de determinar si S era un teorema, donde S es una
proposición de lógica de primer orden (ej. ∀x∃y x = y + y).
¿Qué es la programación funcional?
Historia
Alonzo Church
1903 - 1995
Diseñó un sistema formal llamado calculo lambda el cual utilizó para demostrar que el problema
de decisión (Entscheidungsproblem) era irresoluble.
Propuso la definición de calculabilidad efectiva de como cualquier función que sea “λ-definible”,
dicho en otras palabras, que pueda ser programada en el calculo lambda, el día de hoy
conocemos esa conjetura como la tesis de Church.
¿Qué es la programación funcional?
Historia
Un primer vistazo a Lambda Calculus…
0 = λs.λx.x
1 = λs.λx.s x
2 = λs.λx.s(s x)
3 = λs.λx.s(s(s x))
¿Qué es la programación funcional?
Historia
Alan Turing
1912 - 1954
Diseñó una máquina hipotética (la que hoy conocemos como maquina de Turing) capaz de
resolver cualquier función computable. Utilizó la maquina para demostrar que el problema de
decisión (Entscheidungsproblem) era irresoluble.
Llega a la conjetura que cualquier función computable es calculable por una máquina de Turing, el
día de hoy conocemos esa conjetura como la tesis de Turing.
¿Qué es la programación funcional?
Historia
Un primer vistazo a la máquina de Turing…
http://www.aturingmachine.com
¿Qué es la programación funcional?
Historia
Alonzo Church y Alan Turing llegaron al mismo resultado pero de
diferentes formas.
Ya que ambas tesis, la de Turing y Church demuestran lo mismo, nos referimos
a ellas como la tesis Church-Turing.
¿Qué es la programación funcional?
Historia
Ahora que conocemos más sobre el origen, veamos con mas detalle el
calculo lambda.
¿Qué es la programación funcional?
Lambda Calculus
En lambda calculus las funciones son anónimas, se utiliza el símbolo
lambda para definirlas y solo reciben un valor de entrada.
f(x) = x - y sería equivalente a λx.x - y
f(x,y) = x - y sería equivalente a λx.λy.x - y
¿Qué es la programación funcional?
Lambda Calculus
El concepto central en Lambda Calculus es la “expresión”.
<expresión> := <variable> | <abstracción> | <aplicación>
<abstracción> := λ <variable>.<expresión>
<aplicación> := <expresión><expresión>
abstracción := λx.x
aplicación := (λx.x)y
expresión := (λx.x)((λx.x)y)
¿Qué es la programación funcional?
Lambda Calculus
Variables ligadas y variables libres.
λx.xy
En la función anterior decimos que la variable x es ligada porque está
definida luego del símbolo lambda y es utilizada en el cuerpo de la función
(en el mismo contexto).
La variable y es libre porque no se encuentra en el contexto local de la
expresión
¿Qué es la programación funcional?
Lambda Calculus
Sustitución
(λx.x)(λy.y) = x[x := (λy.y)] = (λy.y)
(λx.(λy.x + y))3 = (λy.x + y)[x := 3] = (λy.3 + y)
¿Qué es la programación funcional?
Lambda Calculus
Booleanos
true := λx. λy.x
false := λx. λy.y
Aritmetica
suma := λm.λn.λf .λx. m f ( n f x)
succ := λn . λf . λx . f (n f x)
¿Qué es la programación funcional?
Lambda Calculus
Números
0 := λf . λx . x
1 := λf . λx . f x
2 := λf . λx . f (f x)
3 := λf . λx . f (f (f x))
¿Qué es la programación funcional?
Lambda Calculus
Linea de tiempo de 

los lenguajes funcionales
¿Qué es la programación funcional?
Historia
John McCarthy
1927 - 2011
LISP (1960)
Inventado por
¿Qué es la programación funcional?
Historia
Peter Landin
1930 - 2009
ISWIM (1966)
Inventado por
¿Qué es la programación funcional?
Historia
Robin Milner
1934 - 2010
ML (1973)
Inventado por
¿Qué es la programación funcional?
Historia
Jhon Backus
1924 - 2007
FP (1977)
Inventado por
¿Qué es la programación funcional?
Historia
David Turner
1946 - 2005
Miranda (1985)
Inventado por
¿Qué es la programación funcional?
Historia
Joe Armstrong
Erlang (1986)
Inventado por
¿Qué es la programación funcional?
Historia
Comité internacional
(Yale y Glasgow)
Haskell (1990)
Inventado por
¿Qué es la programación funcional?
Historia
Martin Odersky
Scala (2004)
Inventado por
¿Qué es la programación funcional?
Historia
Microsoft
F# (2005)
Inventado por
¿Qué es la programación funcional?
Historia
Rich Hickey
Clojure (2007)
Inventado por
¿Qué es la programación funcional?
Lambda Calculus
Entonces
¿Qué tiene que ver esto conmigo…?
Más de lo que imaginas.
¿Qué es la programación funcional?
Ejemplos en lenguajes
Javascript
¿Qué es la programación funcional?
Lambda Calculus
Python
¿Qué es la programación funcional?
Lambda Calculus
Swift
¿Qué es la programación funcional?
Lambda Calculus
Java
¿Qué es la programación funcional?
Lambda Calculus
C# (LINQ)
¿Qué es la programación funcional?
Definiciones
En la programación orientada a objetos el
razonamiento sobre el código se vuelve complejo
rápidamente.
En la programación funcional podemos escribir
programas con menos código, mas expresivos,
obtener buen performance y razonar
fácilmente sobre lo que está escrito.
Motivación
¿Qué es la programación funcional?
Definiciones
Ahora que sabemos que no somos tan extraños a la
programación funcional veamos algunas definiciones.
¿Qué es la programación funcional?
Definiciones
Transparencia referencial
Decimos que una expresión es transparentemente referencial si podemos reemplazar el
valor de todas sus ocurrencias en el programa sin alterar el funcionamiento del mismo.
Scala
¿Qué es la programación funcional?
Definiciones
Valores inmutables
La modificación de los valores no existe, una vez creado ese valor no podrá mutar, lo que
podemos hacer es crear nuevos valores a partir de los creados inicialmente.
¿Qué es la programación funcional?
Definiciones
Funciones de orden superior
Este tipo de funciones toman otras funciones como parámetros o retornan otras
funciones como resultados.
¿Qué es la programación funcional?
Definiciones
Evaluación perezosa
La evaluación perezosa computa un valor solamente cuando este es utilizado.
¿Qué es la programación funcional?
Historias
Ahora que sabemos que los valores son inmutables
¿Por qué no lo usamos para eliminar las condiciones de carrera?
Veamos algunos casos importantes sobre este tema puntual…
¿Qué es la programación funcional?
Historias
Therac-25
Therac-25 fue una maquina de radio terapia que al contar con una falla de software
causó la muerte de 3 pacientes y otros quedaron con daños por sobredosis de
radiación.
El diagnostico:
Se determinó que el mal funcionamiento del programa era ocasionado por una
condición de carrera, relacionada con el desbordamiento de una variable contadora.
Wikipedia
¿Qué es la programación funcional?
Historias
Apagón del noreste del 2003
Se produjo un apagón que afectó buena parte de Estados Unidos y parte de Canadá.
El diagnostico:
Un bug en el software en el sistema de alarma en el cuarto de control.
La falla en la alarma dejo a los trabajadores inadvertidos del problema,
el bug fue una condición de carrera que puso la alarma en un bucle infinito.
Wikipedia
¿Qué es la programación funcional?
Historias
Podemos utilizar programación funcional para cambiar el
comportamiento anti natural del manejo de hilos con datos
mutables y usar la naturaleza de la programación funcional para
trabajar con datos inmutables.
Creo que ahora si estamos avanzando…
¿Qué es la programación funcional?
Un cambio en la forma de resolver
Podemos cambiar nuestra forma de pensar
basada en instrucciones de forma imperativa
por instrucciones en forma declarativa.
¿Qué es la programación funcional?
Un cambio en la forma de resolver
Que tal si en vez de: Simplemente hacemos:
02
¿Qué es el
manifiesto
reactivo?
¿Qué es manifiesto reactivo?
Concepto
Los Sistemas construidos como Sistemas Reactivos son más flexibles,
con bajo acoplamiento y escalables. Esto hace que ellos sean más fáciles de desarrollar y mas simples
para cambiar. Ellos son significativamente más tolerantes a fallas 

y cuando fallan lo hacen con elegancia en vez de ser un desastre. Los sistemas reactivos son altamente
responsivos, dando a los usuarios retroalimentación efectiva e interactiva.
¿Qué es manifiesto reactivo?
Herramientas
Un conjunto de herramientas para el desarrollo de aplicaciones reactivas.
¿Qué es la programación funcional?
Un cambio en la forma de resolver
Temas de interés:
Lambda Calculi de Alonzo Church
https://www.amazon.com/Introduction-Mathematical-Logic-Alonzo-Church/dp/0691029067
An Unsolvable Problem of Elementary Number Theory
http://www.jstor.org/stable/2371045
A note on the Entscheidungsproblem
http://www.jstor.org/stable/2269326
Computable Numbers with an application to the Entscheidungsproblem
https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
¿Qué es la programación funcional?
Un cambio en la forma de resolver
Temas de interés:
Learn Haskell
http://learnyouahaskell.com/
Whatsapp utiliza Erlang
http://www.wired.com/2015/09/whatsapp-serves-900-million-users-50-engineers/
Coursera está desarrollado en Scala
http://www.typesafe.com/resources/case-studies-and-stories/making-online-education-accessible-with-
typesafe
Twitter migró de Ruby a Scala
http://www.typesafe.com/resources/case-studies-and-stories/new-tweets-per-second-record-and-how
¿Qué es la programación funcional?
Un cambio en la forma de resolver
Temas de interés:
FunctionalWorks (jobs)
https://jobs.functionalworks.com/
Why Spark is made with Scala
https://www.quora.com/Why-is-Apache-Spark-implemented-in-Scala
Manifiesto reactivo
www.reactivemanifesto.org/es
Gracias
marco@evolbit.net
http://blog.evolbit.net
@mordonez_me
https://www.facebook.com/groups/scalaperu/

Weitere ähnliche Inhalte

Ähnlich wie Introducción a la programación funcional

49949045 los-paradigmas-de-la-programacion
49949045 los-paradigmas-de-la-programacion49949045 los-paradigmas-de-la-programacion
49949045 los-paradigmas-de-la-programacionIvan Moreno
 
Programacion web - introduccion
Programacion web - introduccionProgramacion web - introduccion
Programacion web - introduccionandrea katherine
 
Programacion web introduccion
Programacion web  introduccionProgramacion web  introduccion
Programacion web introduccionandrea katherine
 
inteligencia artificial
inteligencia artificial inteligencia artificial
inteligencia artificial Isaias Ventura
 
Historia de clisp
Historia de clispHistoria de clisp
Historia de clispextasis30
 
Tecnologia 10-6. pdf.pdf
Tecnologia 10-6. pdf.pdfTecnologia 10-6. pdf.pdf
Tecnologia 10-6. pdf.pdfYulianRenteria1
 
Tecnologia 10-6.pdf
Tecnologia 10-6.pdfTecnologia 10-6.pdf
Tecnologia 10-6.pdfsaraNez13
 
Aplicacion e importancia de las funciones exponenciales
Aplicacion e importancia de las funciones exponencialesAplicacion e importancia de las funciones exponenciales
Aplicacion e importancia de las funciones exponencialesMaria Fernanda Alejos
 
Introducción a los entornos de programación
Introducción a los entornos de programaciónIntroducción a los entornos de programación
Introducción a los entornos de programaciónFernando Solis
 
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaActividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaImatilla
 
Programación Orientada a Objetos parte 1
Programación Orientada a Objetos  parte 1Programación Orientada a Objetos  parte 1
Programación Orientada a Objetos parte 1Karla Silva
 

Ähnlich wie Introducción a la programación funcional (20)

49949045 los-paradigmas-de-la-programacion
49949045 los-paradigmas-de-la-programacion49949045 los-paradigmas-de-la-programacion
49949045 los-paradigmas-de-la-programacion
 
Programacion web - introduccion
Programacion web - introduccionProgramacion web - introduccion
Programacion web - introduccion
 
Programacion web introduccion
Programacion web  introduccionProgramacion web  introduccion
Programacion web introduccion
 
inteligencia artificial
inteligencia artificial inteligencia artificial
inteligencia artificial
 
Historia de clisp
Historia de clispHistoria de clisp
Historia de clisp
 
Tecnologia 10-6. pdf.pdf
Tecnologia 10-6. pdf.pdfTecnologia 10-6. pdf.pdf
Tecnologia 10-6. pdf.pdf
 
Tecnologia 10-6.pdf
Tecnologia 10-6.pdfTecnologia 10-6.pdf
Tecnologia 10-6.pdf
 
Tecnologia 10-6.pdf
Tecnologia 10-6.pdfTecnologia 10-6.pdf
Tecnologia 10-6.pdf
 
Tecnologia 10-6.pdf
Tecnologia 10-6.pdfTecnologia 10-6.pdf
Tecnologia 10-6.pdf
 
Tecnologia 10-6.pdf
Tecnologia 10-6.pdfTecnologia 10-6.pdf
Tecnologia 10-6.pdf
 
Tecnologia 10-6.pdf
Tecnologia 10-6.pdfTecnologia 10-6.pdf
Tecnologia 10-6.pdf
 
Tecnologia 10-6.pdf
Tecnologia 10-6.pdfTecnologia 10-6.pdf
Tecnologia 10-6.pdf
 
Tecnologia 10-6.pdf
Tecnologia 10-6.pdfTecnologia 10-6.pdf
Tecnologia 10-6.pdf
 
Aplicacion e importancia de las funciones exponenciales
Aplicacion e importancia de las funciones exponencialesAplicacion e importancia de las funciones exponenciales
Aplicacion e importancia de las funciones exponenciales
 
Pracita 09
Pracita 09Pracita 09
Pracita 09
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
Introducción a los entornos de programación
Introducción a los entornos de programaciónIntroducción a los entornos de programación
Introducción a los entornos de programación
 
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaActividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
 
Pracita 09
Pracita 09Pracita 09
Pracita 09
 
Programación Orientada a Objetos parte 1
Programación Orientada a Objetos  parte 1Programación Orientada a Objetos  parte 1
Programación Orientada a Objetos parte 1
 

Introducción a la programación funcional

  • 1. 02 ¿Qué es la 
 programación funcional?
  • 2. ¿Qué es la programación funcional? Historia La programación funcional se basa en la construcción de programas utilizando funciones puras, sin efectos secundarios.
  • 3. ¿Qué es la programación funcional? Historia Para entender el presente de la programación funcional demos un vistazo al pasado…
  • 4. ¿Qué es la programación funcional? Historia Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem Entscheidungsproblem ntscheidungsproblem
  • 6. ¿Qué es la programación funcional? Historia David Hilbert 1862 - 1943 En 1928 planteó el Entscheidungsproblem (problema de decisión), buscaba un procedimiento capaz de determinar si S era un teorema, donde S es una proposición de lógica de primer orden (ej. ∀x∃y x = y + y).
  • 7. ¿Qué es la programación funcional? Historia Alonzo Church 1903 - 1995 Diseñó un sistema formal llamado calculo lambda el cual utilizó para demostrar que el problema de decisión (Entscheidungsproblem) era irresoluble. Propuso la definición de calculabilidad efectiva de como cualquier función que sea “λ-definible”, dicho en otras palabras, que pueda ser programada en el calculo lambda, el día de hoy conocemos esa conjetura como la tesis de Church.
  • 8. ¿Qué es la programación funcional? Historia Un primer vistazo a Lambda Calculus… 0 = λs.λx.x 1 = λs.λx.s x 2 = λs.λx.s(s x) 3 = λs.λx.s(s(s x))
  • 9. ¿Qué es la programación funcional? Historia Alan Turing 1912 - 1954 Diseñó una máquina hipotética (la que hoy conocemos como maquina de Turing) capaz de resolver cualquier función computable. Utilizó la maquina para demostrar que el problema de decisión (Entscheidungsproblem) era irresoluble. Llega a la conjetura que cualquier función computable es calculable por una máquina de Turing, el día de hoy conocemos esa conjetura como la tesis de Turing.
  • 10. ¿Qué es la programación funcional? Historia Un primer vistazo a la máquina de Turing… http://www.aturingmachine.com
  • 11. ¿Qué es la programación funcional? Historia Alonzo Church y Alan Turing llegaron al mismo resultado pero de diferentes formas. Ya que ambas tesis, la de Turing y Church demuestran lo mismo, nos referimos a ellas como la tesis Church-Turing.
  • 12. ¿Qué es la programación funcional? Historia Ahora que conocemos más sobre el origen, veamos con mas detalle el calculo lambda.
  • 13. ¿Qué es la programación funcional? Lambda Calculus En lambda calculus las funciones son anónimas, se utiliza el símbolo lambda para definirlas y solo reciben un valor de entrada. f(x) = x - y sería equivalente a λx.x - y f(x,y) = x - y sería equivalente a λx.λy.x - y
  • 14. ¿Qué es la programación funcional? Lambda Calculus El concepto central en Lambda Calculus es la “expresión”. <expresión> := <variable> | <abstracción> | <aplicación> <abstracción> := λ <variable>.<expresión> <aplicación> := <expresión><expresión> abstracción := λx.x aplicación := (λx.x)y expresión := (λx.x)((λx.x)y)
  • 15. ¿Qué es la programación funcional? Lambda Calculus Variables ligadas y variables libres. λx.xy En la función anterior decimos que la variable x es ligada porque está definida luego del símbolo lambda y es utilizada en el cuerpo de la función (en el mismo contexto). La variable y es libre porque no se encuentra en el contexto local de la expresión
  • 16. ¿Qué es la programación funcional? Lambda Calculus Sustitución (λx.x)(λy.y) = x[x := (λy.y)] = (λy.y) (λx.(λy.x + y))3 = (λy.x + y)[x := 3] = (λy.3 + y)
  • 17. ¿Qué es la programación funcional? Lambda Calculus Booleanos true := λx. λy.x false := λx. λy.y Aritmetica suma := λm.λn.λf .λx. m f ( n f x) succ := λn . λf . λx . f (n f x)
  • 18. ¿Qué es la programación funcional? Lambda Calculus Números 0 := λf . λx . x 1 := λf . λx . f x 2 := λf . λx . f (f x) 3 := λf . λx . f (f (f x))
  • 19. ¿Qué es la programación funcional? Lambda Calculus Linea de tiempo de 
 los lenguajes funcionales
  • 20. ¿Qué es la programación funcional? Historia John McCarthy 1927 - 2011 LISP (1960) Inventado por
  • 21. ¿Qué es la programación funcional? Historia Peter Landin 1930 - 2009 ISWIM (1966) Inventado por
  • 22. ¿Qué es la programación funcional? Historia Robin Milner 1934 - 2010 ML (1973) Inventado por
  • 23. ¿Qué es la programación funcional? Historia Jhon Backus 1924 - 2007 FP (1977) Inventado por
  • 24. ¿Qué es la programación funcional? Historia David Turner 1946 - 2005 Miranda (1985) Inventado por
  • 25. ¿Qué es la programación funcional? Historia Joe Armstrong Erlang (1986) Inventado por
  • 26. ¿Qué es la programación funcional? Historia Comité internacional (Yale y Glasgow) Haskell (1990) Inventado por
  • 27. ¿Qué es la programación funcional? Historia Martin Odersky Scala (2004) Inventado por
  • 28. ¿Qué es la programación funcional? Historia Microsoft F# (2005) Inventado por
  • 29. ¿Qué es la programación funcional? Historia Rich Hickey Clojure (2007) Inventado por
  • 30. ¿Qué es la programación funcional? Lambda Calculus Entonces ¿Qué tiene que ver esto conmigo…? Más de lo que imaginas.
  • 31. ¿Qué es la programación funcional? Ejemplos en lenguajes Javascript
  • 32. ¿Qué es la programación funcional? Lambda Calculus Python
  • 33. ¿Qué es la programación funcional? Lambda Calculus Swift
  • 34. ¿Qué es la programación funcional? Lambda Calculus Java
  • 35. ¿Qué es la programación funcional? Lambda Calculus C# (LINQ)
  • 36. ¿Qué es la programación funcional? Definiciones En la programación orientada a objetos el razonamiento sobre el código se vuelve complejo rápidamente. En la programación funcional podemos escribir programas con menos código, mas expresivos, obtener buen performance y razonar fácilmente sobre lo que está escrito. Motivación
  • 37. ¿Qué es la programación funcional? Definiciones Ahora que sabemos que no somos tan extraños a la programación funcional veamos algunas definiciones.
  • 38. ¿Qué es la programación funcional? Definiciones Transparencia referencial Decimos que una expresión es transparentemente referencial si podemos reemplazar el valor de todas sus ocurrencias en el programa sin alterar el funcionamiento del mismo. Scala
  • 39. ¿Qué es la programación funcional? Definiciones Valores inmutables La modificación de los valores no existe, una vez creado ese valor no podrá mutar, lo que podemos hacer es crear nuevos valores a partir de los creados inicialmente.
  • 40. ¿Qué es la programación funcional? Definiciones Funciones de orden superior Este tipo de funciones toman otras funciones como parámetros o retornan otras funciones como resultados.
  • 41. ¿Qué es la programación funcional? Definiciones Evaluación perezosa La evaluación perezosa computa un valor solamente cuando este es utilizado.
  • 42. ¿Qué es la programación funcional? Historias Ahora que sabemos que los valores son inmutables ¿Por qué no lo usamos para eliminar las condiciones de carrera? Veamos algunos casos importantes sobre este tema puntual…
  • 43. ¿Qué es la programación funcional? Historias Therac-25 Therac-25 fue una maquina de radio terapia que al contar con una falla de software causó la muerte de 3 pacientes y otros quedaron con daños por sobredosis de radiación. El diagnostico: Se determinó que el mal funcionamiento del programa era ocasionado por una condición de carrera, relacionada con el desbordamiento de una variable contadora. Wikipedia
  • 44. ¿Qué es la programación funcional? Historias Apagón del noreste del 2003 Se produjo un apagón que afectó buena parte de Estados Unidos y parte de Canadá. El diagnostico: Un bug en el software en el sistema de alarma en el cuarto de control. La falla en la alarma dejo a los trabajadores inadvertidos del problema, el bug fue una condición de carrera que puso la alarma en un bucle infinito. Wikipedia
  • 45. ¿Qué es la programación funcional? Historias Podemos utilizar programación funcional para cambiar el comportamiento anti natural del manejo de hilos con datos mutables y usar la naturaleza de la programación funcional para trabajar con datos inmutables.
  • 46. Creo que ahora si estamos avanzando…
  • 47. ¿Qué es la programación funcional? Un cambio en la forma de resolver Podemos cambiar nuestra forma de pensar basada en instrucciones de forma imperativa por instrucciones en forma declarativa.
  • 48. ¿Qué es la programación funcional? Un cambio en la forma de resolver Que tal si en vez de: Simplemente hacemos:
  • 50. ¿Qué es manifiesto reactivo? Concepto Los Sistemas construidos como Sistemas Reactivos son más flexibles, con bajo acoplamiento y escalables. Esto hace que ellos sean más fáciles de desarrollar y mas simples para cambiar. Ellos son significativamente más tolerantes a fallas 
 y cuando fallan lo hacen con elegancia en vez de ser un desastre. Los sistemas reactivos son altamente responsivos, dando a los usuarios retroalimentación efectiva e interactiva.
  • 51. ¿Qué es manifiesto reactivo? Herramientas Un conjunto de herramientas para el desarrollo de aplicaciones reactivas.
  • 52. ¿Qué es la programación funcional? Un cambio en la forma de resolver Temas de interés: Lambda Calculi de Alonzo Church https://www.amazon.com/Introduction-Mathematical-Logic-Alonzo-Church/dp/0691029067 An Unsolvable Problem of Elementary Number Theory http://www.jstor.org/stable/2371045 A note on the Entscheidungsproblem http://www.jstor.org/stable/2269326 Computable Numbers with an application to the Entscheidungsproblem https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
  • 53. ¿Qué es la programación funcional? Un cambio en la forma de resolver Temas de interés: Learn Haskell http://learnyouahaskell.com/ Whatsapp utiliza Erlang http://www.wired.com/2015/09/whatsapp-serves-900-million-users-50-engineers/ Coursera está desarrollado en Scala http://www.typesafe.com/resources/case-studies-and-stories/making-online-education-accessible-with- typesafe Twitter migró de Ruby a Scala http://www.typesafe.com/resources/case-studies-and-stories/new-tweets-per-second-record-and-how
  • 54. ¿Qué es la programación funcional? Un cambio en la forma de resolver Temas de interés: FunctionalWorks (jobs) https://jobs.functionalworks.com/ Why Spark is made with Scala https://www.quora.com/Why-is-Apache-Spark-implemented-in-Scala Manifiesto reactivo www.reactivemanifesto.org/es