Programación funcional y valores inmutables

Como usuario de un lenguaje imperativo se hace muy normal trabajar con variables mutables todo el tiempo, y pese a que en ocasiones no sepamos si es mutable o inmutable muchos compiladores no nos dan aviso de esto y nos permiten realizar “modificaciones” al valor  de una variable

La importancia de los valores sobre las variables que cambian su estado (como en la programación imperativa) es uno de los grandes aportes de la programación funcional, en los lenguajes funcionales no se trabaja el concepto de variable, en su lugar conocemos valores, y todo serán valores de ahora en mas, es decir si enlazamos un valor a un símbolo este no podrá ser cambiado (let simbolo = 10).

En F# por ejemplo, podemos probar este concepto de una manera muy sencilla:

let entero = 10
entero <- 20

Este código arroja el error error FS0027: This value is not mutable aclarándonos por supuesto lo que sospechamos 🙂

Aunque en F# tenemos también la posibilidad de hacer uso de variables mutables con el uso de la palara clave mutable:

let mutable entero = 10
entero <- 20

Pese a que es algo muy sencillo de entender cambia drásticamente el como escribimos programas y es el punto de entrada para entender las funciones como valores, las funciones como ciudadanos de primera clase, aparte de como testeamos lo que escribimos, como entendemos este código y como lo reautorizamos. Pero quiero dejar estos temas para próximos  artículos.

Hasta el próximo post.

Anuncios
Programación funcional y valores inmutables

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s