Entiende esto antes de estudiar programación funcional
La programación funcional es un modo distinto de escribir sofware que puede resultar difícil de aprender. La mayoría del software producido actualmente es una secuencia de órdenes ejecutadas de un modo determinado y, cuyo resultado, se obtiene creando y manipulando objetos. En la programación funcional (FP) el resultado se obtiene evaluando expresiones que están compuestas de funciones. Es habitual pasar funciones como parámetros de otras funciones, o devolverlas como resultados; Se opta por la recursión en lugar de hacer bucles, y en el cuerpo de las funciones se evita modificar objetos o el uso de variables globales, de tal manera que el uso de estas no conlleve efectos secundarios, habitualmente referidos en la literatura técnica como side effects.