Python - Introducción a la programación funcional

Generalmente hay dos tipos de paradigmas de programación imperativo y declarativo.
El paradigma de programación Imperativo utiliza expresiones que cambian el estado desde afuera hacia adentro. Por ejemplo consideremos un cilo for; en la mayoría de lenguajes de programación utiliza variables que contralan la iteración de dicho ciclo. Estas variables son el valor inicial, las condiciones que continuan el ciclo o lo terminan, por lo tanto, yo estoy dando instrucciones sobre cómo iterar por cada elemento. Este tipo de iteración es propensa al error debido a que el estado es mutable.

El paradigma de programación declarativo hace énfasis en la inmutabilidad, y su objetivo es describirt el problmea a solucionar, por ejemplo el lenguaje SQL hace parte de esta familia. Al obtener infomración de una base de datos por medio de una consulta, no estoy dando instruncciones de como iterar sobre cada registro, sin o que describo qué datos voy a obtener, es decir yo describo una solución al problema.

El lenguaje funcional hace parte del paradicma declarativo. Aunque Python no es puramente funcional, sí cuenta con características que permiten escribir codigo de esta manera y cuenta con funciones puras.

En un lenguaje puramente funcional, nos enfocaríamos en escribir funciones puras. Esto es que los resultados dependen únicamente del argumento que le pasamos. 

Ejemplo:

1
2
3
lista = [12, 23, 56 ,34.4]
sum(lista)
# 125.4


Si tenemos una lista mutable, las funciones puras nos garantizan que no habrá efectos colaterales que alteren la lista. La lista siempre tendrá los mismos valores antes y después de llamar a la función.

Comentarios

Entradas populares de este blog

Python - Instalar Python en un contenedor de docker

Python - funciones, argumentos y parámetros

Python - Modo interactivo, Modo Script, Modo web