En
ciencias de la computación, la programación funcional es un paradigma de
programación declarativa basado en la utilización de funciones aritméticas que
no maneja datos mutables o de estado. Enfatiza la aplicación de funciones, en
contraste con el estilo de programación imperativa, que enfatiza los cambios de
estado. La programación funcional tiene sus raices en el cálculo lambda, un
sistema formal desarrollado en los 1930s para investigar la definición de
función, la aplicación de las funciones y la recursión. Muchos lenguajes de
programación funcionales pueden ser vistos como elaboraciones del cálculo
lambda.
En
la práctica, la diferencia entre una función matemática y la noción de una
"función" utilizada en la programación imperativa es que las
funciones imperativas pueden tener efectos secundarios, al cambiar el valor de
calculos realizados previamente. Por esta razón carecen de transparencia
referencial, es decir, la misma expresión lingüística puede resultar en valores
diferentes en diferentes momentos dependiendo del estado del programa siendo
ejecutado. Con código funcional, en contraste, el valor generado por una
función depende exclusivamente de los argumentos alimentados a la función. Al
eliminar los efectos secundarios se puede entender y predecir el comportamiento
de un programa mucho más fácilmente, y esta es una de las principales
motivaciones para utilizar la programación funcional.
Entre otros lenguajes que se podrían utilizar para programación funcional se podrían incluir a Perl, pues, aunque es un lenguaje de propósito muy general, se pueden realizar programas usando exclusivamente funciones definidas por el usuario; así como Python, como lenguaje que incorpora el paradigma funcional

No hay comentarios.:
Publicar un comentario