¿Qué es la Programación Funcional?
La programación funcional es unos del paradigma de
programación más usados y populares, que basa sus fundamentos en funciones
matemáticas para resolver problemas y diseñar un software.
Origen:
La programación
funcional tiene su origen en el calculo lambda, desarrollado por el matemático Alonzo
Crunch en 1930. Crunch sentó las bases del fundamento de este paradigma, sustituyendo el uso de
las estructuras de control (bucles, ifs, etc) para la resolución de problemas.
¿Qué es el cálculo Lambda?
El calculo lambda es un sistema formal que sirve para estudiar el comportamiento de funciones, su aplicaciones y su recursividad.
¿A qué se debe su popularidad?
Si bien este paradigma en sus principios no fue muy implementado en el ámbito del desarrollo de software, comenzó a ganar popularidad en escuelas y universidades, donde se enseñaba esta paradigma a los alumnos para que ganen una noción de como operaba la programación.
Sin embargo unos años mas tarde se popularizaría con lenguajes como Lisp, Erlang, entre otros y por el creciente aumento de la complejidad de los softwares y el Big Data.
1) Funciones puras:
Las funciones puras son aquellas que para un conjunto de input's, retornan el mismo valor o resultado. Es decir, para distintos input's se obtiene el mismo output.
Es un principio fundamental que implica que los datos no pueden ser modificados una vez creados. En lugar de cambiar algún valor ya existente lo que se hace es crear nuevos valores.
Es una técnica en donde una función se "llama" o se "invoca" a si misma de manera directa o indirecta. Esto con el objetivo de resolver un problema. Este es un principio que puede resultar útil para resolver problemas que pueden dividirse en problemas mas pequeños o derivados del mismo tipo.
También es conocida como "lazy evaluation" es un fundamento que implica que una función o valor no será evaluada hasta que sea necesario.
Esto quiere decir que no se calculara el valor de una expresión definida justo en el momento en donde es creada, sino que se pospondrá hasta que sea necesario calcular el valor.
Es muy utilizada en aplicaciones, por ejemplo, aplicaciones web donde se necesita manipular datos en el front-end.
Otro ejemplo es en el Big Data, donde el procesamiento eficientes de grandes volúmenes de datos están a cargo de la programación funcional.
No hay comentarios.:
Publicar un comentario