FP se basa en el cálculo de lamdba. Necesitas saber eso. Es un buen punto de partida. Las funciones lo son todo. No existe un concepto de estado (aunque puede simularlo en un nivel superior).
En OOP,
a = 1 a = a + 1
es aceptado. No es así en FP. Simplemente no puede asignar a la variable otro valor. Si quieres aprender FP a largo plazo, aprende Haskell. Es la versión más pura de FP que existe y también es bastante complicada (acabo de comenzar a aprenderla) pero aún así vale la pena aprenderla.
Una Introducción a la Programación Funcional le brinda una visión general de alto nivel de lo que se trata FP.
Aunque dos advertencias
- Si quieres aprender FP para trabajos, entonces no hay muchas vacantes disponibles. Procedural y OOP todavía gobierna el mercado laboral. Pero FP puede ayudarlo mucho a explorar nuevas formas de resolver un problema.
- Los compiladores de FP no son increíblemente rápidos. Como FP está más preocupado por resolver el problema, no puede esperar la velocidad C. Pero aún puede emitir instrucciones al compilador (en Haskell) para acelerar el proceso de ejecución. La compensación es que tienes mucho tiempo enfocándote en el programa en lugar de en los errores de lucha contra incendios.