Un universo funcional
Viernes, 13 julio 2012 por Federico Erostarbe
El paradigma de programación orientado a objetos fue desarrollado en base a la teoría platónica de las ideas. Tenemos una idea arquetípica de un objeto e innumerables instancias de ese objeto, con distintas propiedades. Culturalmente, nos resulta muy sencillo asimilar esta idea; prácticamente no hace falta pensar, a un nivel pre-consciente nos identificamos como instancias concretas de la idea de Hombre, en mi caso una instancia algo petisa, de pelo negro, etc. Hace unos días la propiedad “edad” de mi instancia era 28 años, pero ahora es 29.
En estos 29 años, incontables propiedades cambiaron en mi instancia, a pesar de lo cual sigo siendo aparentemente la misma persona, el mismo objeto, que “cambia”. Esto, como sabrán, trae muchísimos problemas a la hora de programar concurrentemente y, bueno, convengamos que en el mundo real hay más de un thread ejecutándose al mismo tiempo, la realidad es el mayor ejemplo de concurrencia que se pueda pensar, con incontables hilos de ejecución corriendo paralelamente.
Por otro lado, tenemos la programación funcional, en que no hay objetos. Hay… datos, información. Dónde está el ser, el individuo, tan fácil de identificar en el paradigma de objetos, tan afín al prejuicio? Cómo defino a mi mascota, gato persa, blanco? No es más que información, datos y acciones. Las acciones, a su vez, también no son más que información, en su nivel más puro y sencillo. Una función tiene un número determinado de parámetros-causas y devuelve una respuesta, en consecuencia. Quizás hayamos dejado de lado el yo y seamos entonces un cúmulo de información que realiza una determinada acción. Qué hay del cambio? El cambio no existe, todo es cambio. Cambio de verdad.
Cómo puede ser que sea la misma persona la que escribe estas líneas que quien faltaba bastante seguido a la escuela primaria? Claro que hay una cierta continuidad, pero cómo podemos decir que sea la misma persona, qué es lo que cambio? Qué nos arroga ese derecho, de decir qué y quién es una persona con tanta liviandad? Una de esas frases que adjudicamos a Buddha y que en un par de años probablmente adjudiquemos a Einstein, Borges o Bob Marley pero representa bastante bien el pensamiento budista, dice que no es la misma persona la que arroja una piedra que la que se arrepiente del acto, por el simple motivo de que no existe el ego, es una ilusión.
Si tenemos una variable i que es igual a 3, en otro momento i no puede ser igual a 5. Es otra la variable, es otro el “objeto”. En consecuencia, no es el mismo dato, la misma información-viva el Federico Erostarbe que tenía 4 años al que tuvo 5 al que tuvo 6 al que tiene 29. No existe el ego en el mundo zen de la rigurosidad matemática. Curiosamente, la vida pierde cierta complejidad innecesaria, de este modo. Los métodos, esos lugares en los que deberíamos actuar de cierto modo pero nunca terminamos de entender por qué, cómo, cuáles son nuestras responsabilidades, nuestros deseos, pasan a ser algo mucho más sencillo.
Nuestra cultura nos hace pensar en objetos (que tienen su utilidad, también, tampoco los demonicemos, pobres objetos) y en consecuencia nos cuesta horrores entender la programación funcional. Parece alienígena, comprensible sólo para lagartos humanoides de Zeta Reticulian, fanáticos de las matemáticas y monjes contemplativos. Teniendo en cuenta la naturaleza concurrente de la realidad, quizás deberíamos cambiar de paradigma. Quizás comprendiéramos mejor la vida, a nosotros mismos. Quizás, quizás, el mundo sería un lugar mejor si pensáramos en Haskell.

No. 1 — julio 29th, 2012 at 22:58
Blockquote
Blockquote> Hace unos días la propiedad “edad” de mi instancia era 28 años, pero ahora es 29.Blockquote
Blockquote
Depends. La edad no es una propiedad inherente a un inviduo. La edad es el calculo entre la fecha de nacimiento(la cual si es inherente al individuo) y el día actual.
No entiendo el problema de la variable, una variable es como una caja, puedes poner 5 naranjas y luego quitar 3, pero sigue siendo la misma caja.
No. 2 — septiembre 4th, 2012 at 9:35
“Qué hay del cambio? El cambio no existe, todo es cambio”, algo falla en esa frase. De lo demás, es interesante tu perspectiva.
No. 3 — septiembre 4th, 2012 at 9:55
Es un típico pensamiento zen (al que aludo en el post), del tipo “la iluminación no existe, ya estás iluminado”, “todo en la vida es sufrimiento, pero el sufrimiento no existe”, no falla nada en esa frase
.
Gracias, muchas, por comentar!