jueves, 26 de octubre de 2017

¿qué es la programación funcional? y en qué consiste?

Es un paradigma que te recomienda lo que debes, pero sobre todo, lo que no debes hacer. Veamos los principios donde se apoya este paradigma:

  • Datos inmutables: son variables que no varían, bueno como constantes entonces ... el concepto de variable como la conocemos desaparece, dando lugar a datos inmutables. 
  • Código declarativo: en vez de describir una serie de pasos o instrucciones, tienes que declarar lo que quieres obtener, concatenando una serie de expresiones, sin preocuparte de qué hacen por dentro esas expresiones. Es como que te pida un café, vos me vas a dar un café, pero yo no te di las instrucciones para que los prepares. 
  • Funciones sin efectos colaterales: no basta con escribir funciones para “organizar” o reutilizar tu código. O esas funciones cumplen unas reglas muy sencillas que te van a ahorrar muchos quebraderos de cabeza. Siempre una funcion con un determinado valor retorna el mismo resultado, siempre. 
  • Recursión: seguro que has utilizado alguna vez un algoritmo recursivo… cuando no te quedaba más remedio. ¿Y si te digo que en lenguajes funciones no hay otra forma de hacer bucles?
  • Funciones de orden superior: ¿y si pudiésemos hacer con las funciones lo mismo que hacemos con otros tipos de datos? Pues de eso se trata, de usar funciones como si fueran números o cadenas de texto. Es decir se pueden utilizar como parámetro o tambien retornar de otra función.