La Programación Funcional: un regreso a los Fundamentos Matemáticos

¿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.

Principios y fundamentos de la Programación Funcional:

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.


2) Inmutabilidad:

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. 

3) Recursividad:

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.


4) Evaluación Perezosa:

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.  


Donde se usa la Programación Funcional:

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