Logo Studenta

Programación Funcional

¡Estudia con miles de materiales!

Vista previa del material en texto

Programación Funcional 
La programación funcional es un paradigma de programación 
que se basa en el concepto de que un programa se puede ver 
como una serie de funciones matemáticas. En la 
programación funcional, las funciones son ciudadanos de 
primera clase, lo que significa que se pueden pasar como 
argumentos a otras funciones y se pueden devolver como 
resultados de otras funciones. 
Uno de los lenguajes de programación más conocidos que 
promueve la programación funcional es Haskell, pero 
también se pueden utilizar conceptos de programación 
funcional en lenguajes como JavaScript, Python y Scala. 
Los principios clave de la programación funcional incluyen: 
Inmutabilidad: En la programación funcional, los datos son 
inmutables, lo que significa que una vez que se crea un valor, 
no se puede modificar. En su lugar, se crean nuevos valores 
basados en los valores existentes. 
Funciones Puras: Las funciones en la programación funcional 
son puras, lo que significa que no tienen efectos secundarios 
y siempre devuelven el mismo resultado para la misma 
entrada. Esto facilita la depuración y el razonamiento sobre 
el código. 
Recursión: En lugar de bucles, la programación funcional 
tiende a utilizar la recursión para realizar repeticiones. 
Funciones de Orden Superior: Las funciones de orden 
superior son aquellas que pueden recibir funciones como 
argumentos y/o devolver funciones como resultados. Esto 
permite la composición de funciones y la abstracción de 
patrones. 
Programación Declarativa: En lugar de describir paso a paso 
cómo se debe hacer algo, la programación funcional se 
centra en declarar qué se debe hacer y se basa en el sistema 
de tipos del lenguaje para determinar cómo hacerlo. 
 
La programación funcional se ha vuelto más popular en los 
últimos años debido a su capacidad para escribir código más 
conciso y legible, así como para aprovechar la computación 
paralela y distribuida de manera eficiente.