Functional Programming
La programación funcional se centra en funciones puras, datos inmutables y un estilo declarativo, evitando efectos secundarios y estado compartido.
Propósito
Construir código fiable y testeable mediante composición de funciones y datos inmutables.
Mecanismo
Funciones puras (sin efectos secundarios), inmutabilidad, funciones de orden superior, evaluación perezosa, composición de funciones, currying. Haskell es puramente funcional; Scala/JS son multiparadigma. Puntos fuertes: testeable, paralelizable, razonable. Puntos débiles: curva de aprendizaje, rendimiento.
Casos de uso
- Diseño de código
- Seguridad en concurrencia
- Testabilidad