Diferencia entre revisiones de «Programación funcional»

Contenido eliminado Contenido añadido
Jimmy Olano (discusión · contribs.)
m Referencia solicitada, pero aún faltan más, estamos en eso, procurando. Referencia a dos columnas, mejor visualización.
Línea 1:
{{referencias|t=20140227022101|informática}}
[[Archivo:Subprograma.svg|thumb|Diagrama del funcionamiento de una subrutina.]]
En [[ciencias de la computación]], la '''programación funcional''' es un [[paradigma de programación]] [[Programación declarativa|declarativa]] basado en el uso de [[Función matemática|funciones matemáticas]], en contraste con la [[programación imperativa]], que enfatiza los cambios de estado mediante la mutación de variables.<ref>{{cita web |url = https://medium.com/elblogdejavascript/programación-funcional-5da872a080fe/ |título = Programación Funcional |fechaacceso = 1 de abril de 2018 |apellido = López |nombre = José |fecha = 21 de julio de 2017 |sitioweb = Medium Com |idioma = castellano |cita = La Programación Funcional es un paradigma de programación, un estilo de construir la estructura y elementos de programas de computadores, que trata los cálculos como la evaluación de funciones matemáticas y evita el cambio de estado y mutar la estructura de datos, se puede decir que también es un Paradigma de Programación Declarativa ya que depende de las expresiones o declaraciones en vez de estados. |formato = html |urlarchivo = http://archive.fo/nqMru |fechaarchivo = 1 de abril de 2018}}</ref> La programación funcional tiene sus raíces en el [[cálculo lambda]], un sistema formal desarrollado en los años 1930 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, como cambiar el valor de cálculos realizados previamente. Por esta razón carecen de transparencia referencial, es decir, la misma expresión sintáctica puede resultar en valores diferentes en varios momentos de la ejecución del programa. 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. Ésta es una de las principales motivaciones para utilizar la programación funcional.
Línea 132:
 
En la actualidad los lenguages funcionales más de moda son Scala (que se ejecuta en la JVM y puede interactuar con Java) y F# de Microsoft.
 
== Referencias ==
{{listaref|2}}
 
== Véase también ==
Línea 138 ⟶ 141:
* [[Cálculo Lambda]]
* [[Teoría de categorías]]
 
== Referencias ==
{{listaref}}
 
[[Categoría:Programación funcional| ]]