Dónde encaja la programación funcional -FP

Atención, abrir en una nueva ventana. PDFImprimirE-mail

Recientemente, diversos lenguajes de programación han comenzado a implementar varias de las ideas y conceptos de la programación funcional, functional programming o FP. El que lenguajes tan populares como Ruby, hayan incorporado esta tecnología hace que cada vez sea mayor el número de programadores que aprenden cómo impulsar estas prestaciones funcionales. También ayuda que algunas de las principales plataformas, como .NET, principalmente C# #, y se haya convertido en un modelo híbrido. Esta tendencia también se encuentra en otras áreas de la plataformas .NET, con F#, así como la plataforma Java, con Scala, que han adoptado algunas de estas ideas.

A la hora de usar FP hay diversos aspectos a tener en cuenta:

- el código FP no tiene "efectos laterales"
- En FP no hay valores literales, sino funciones que siempre devuelven el mismo valor
- Muchos de los lenguajes tienen "evaluación floja", lazy evaluation, donde las funciones no son evaluadas hasta que se necesita el resultado. En tales casos, si se define que "x" debe ser igual a "y+5", "x" no tendrá valor hasta que se necesite emplear dicho valor, momento en el cual se irá a la definición, y sólo entonces se calculará y suministrará el valor al procedimiento de llamada. Esto es un beneficio, mejor rendimiento, pero también, a la vez, una maldición, debido a la indeterminación en valores en algunos casos.

Puede consultarse el artículo original completo de Techrepublic, en Where functional programming  fits in.