Si ya has leído algo sobre programación funcional y te ha sonado a chino, este es tu sitio. Aquí aprenderás los conceptos de la forma más fácil, sin utilizar “palabros” raros, y sobre todo con ejemplos prácticos y aplicados a tu día a día como programador de apps para iOS.

Así que mejor empezar por el principio, ¿no?. Antes de iniciar esta aventura mejor que sepas qué es la programación funcional y por qué este estilo está tomando tanta relevancia en los últimos tiempos.

Hace unos años sólo se hablaba de programación funcional en la universidad y lugares muy académicos. Pero hoy en día muchas empresas basan su tecnología en lenguajes funcionales, porque es la forma más rápida y segura de implementar sus sistemas.

Ahora es más fácil que nunca aprender programación funcional. Están saliendo muchos lenguajes que son funcionales, como por ejemplo Scala, o que al menos tienen características funcionales, como Go, o Ruby para desarrollo servidor, Kotlin de Android o nuestro querido Swift para iOS.

¿Y por qué debes aprenderlo?. Pues primero porque mola y porque en tu próxima entrevista de trabajo les dejarás con la boca abierta. Pero también porque la programación funcional trae una serie de ventajas que hoy en día son muy necesarias en el software actual: sobre todo concurrencia y mayor robustez.

Te explicaremos por qué dejarás de creer que las variables o los bucles son esenciales para programar. ¡No lo son!. Hay lenguajes que ni siquiera permiten variables, o no te ofrecen estructuras de control como los bucles o los ifs.
Si que es cierto que Swift tiene variables y bucles, pero a lo mejor si los dejas de utilizar obtienes una serie de beneficios que no conocías.

También veremos qué significa que un lenguaje de programación sea puro (como los lenguajes “clásicos” como Haskell o List) o híbrido (como los nuevos lenguajes como Swift).

Y por último, veremos los 8 principios que consideramos básicos para programar en estilo funcional:

  • Ausencia de estado mutable (no te asustes, entenderás lo que es muy pronto)
  • Orientación a expresiones
  • Ausencia de efectos colaterales
  • Evaluación perezosa
  • Recursión
  • Sistemas de tipos
  • Funciones de orden superior
  • Patrones funcionales

Así que, anímate, y verás que la programación funcional es distinta, pero no difícil.