- Las Funciones son first-class objects, lo que sería que podemos crearlas, pasarlas como parámetros, guardarlas en variables, retornarlas, como cualquier otro tipo de datos.
- Los datos son inmutables
- Las funciones son puras, lo que significa que una función siempre devuelve el mismo valor con iguales parámetros; no mantiene estados.
La programación funcional es fácil de entender, es menos propenso a errores y mucho más fácil de reutilizar. Por que?
- Es simple, sin loops, ni variables, ni mutables estados.
- Es thread safe.
- Es paralelizable, como las funciones no mantienen estados se pueden resolver de forma paralela, lo que aprovecha mucho más múltiples micros.