Dado que los usuarios hoy en día requieren actualizaciones constantes del
software que usan, son necesarios unos fundamentos de programación que permitan realizar cambios frecuentes en estos sistemas de una manera lo más simple
posible. Los elementos propios de la Programación Funcional son fáciles de componer y están libres de efectos colaterales. Es por ello que este documento estudia
la programación funcional como un paradigma para crear programas que pueden
adaptarse con facilidad a los cambios que implican la evolución de requisitos. Al
mismo tiempo, la capacidad del software de responder rápidamente a las interacciones con los usuarios es cada vez más importante. Los Sistemas Reactivos
establecen un marco de referencia para crear aplicaciones que sean capaces de interaccionar con un número elevado de usuarios con una baja latencia y que sean
además tolerantes a fallos.
Estos conceptos no son presentados exclusivamente de un punto de vista teórico
sino que también se acompañan de ejemplos prácticos y patrones útiles para crear
Sistemas Funcionales y Reactivos.
Finalmente, se estudia un caso de uso práctico en el que se utilizan todos los
elementos que se han estudiado, implementando una aplicación que utiliza almacenamiento persistente y comunicación a través del protocolo HTTP de una forma
puramente funcional, siguiendo además los principios propios de la programación
reactiva.