Diferencia entre revisiones de «Programación funcional»
Contenido eliminado Contenido añadido
Sin resumen de edición Etiquetas: Edición desde móvil Edición vía web móvil |
Sin resumen de edición |
||
Línea 5:
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.
Los lenguajes de programación funcional, especialmente los puramente funcionales, han sido enfatizados en el ambiente académico y no tanto en el desarrollo comercial o industrial. Sin embargo, lenguajes de programación funcional como [[Scheme]], [[Erlang]], [[Rust (lenguaje de programación)|Rust]], [[Objective CAML|Objective Caml]], [[Lenguaje de programación Scala|Scala]], [[F Sharp|F#]], [[Haskell]] y [[
Los lenguajes de uso específico usados comúnmente como SQL y Lex/Yacc, utilizan algunos elementos de programación funcional, especialmente al procesar valores mutables. Las hojas de cálculo también pueden ser consideradas lenguajes de programación funcional.
|