Son notables ciertas clases del MIT, introductorias a la so-called ciencia de la computación. Corresponden al afamado libro SICP (von Abelson und Sussman).
Al margen, "un tal" Wadler hace una muy bien fundamentada crítica [pdf] de por qué SICP sería aún mejor si usara otro lenguaje, semánticamente más limpio que Scheme. Propone Miranda, pero indudablemente hoy propondría Haskell.
Dejando la digresión de lado, la cuestión es que A&S son unos iluminados que saben compartir y transmitir su luz. Recuérdese el pseudo-koancito con el acento finito de Minsky y Sussman:
"¿Qué hacés?", preguntó Minsky.
"Estoy entrenando una red neuronal armada aleatoriamente para que juegue al ta-te-ti", respondió Sussman.
"¿Por qué está armada aleatoriamente?", preguntó Minsky.
"Para que no tenga preconceptos sobre cómo jugar", respondió Sussman.
Minsky cerró los ojos.
"¿Por qué cerrás los ojos?", le preguntó Sussman al maestro.
"Para que la habitación esté vacía".
Entonces Sussman se iluminó.
[[ Lo que dije realmente fue: "Si la armás aleatoriamente, va a tener preconceptos sobre como jugar, sólo que no vas a saber cuáles son." -- Marvin Minsky ]]
"Ciencias" de la "computación"
El estado mental que producen algunos fragmentos de las clases de A&S sólo puede llamarse satori. A medida que transcurren los años, caigo una y otra vez en GEB. (¿Transcurren realmente los años? ¿O es quizá la existencia el trayecto de la tiza, el entetradimensional?)
La "ciencia de la computación" -dicen A&S- no es una ciencia. Puede ser arte, puede ser ingeniería. Y, sobre todo, es magia. Acerca de la idea de que la literatura fantástica y la metafísica son en esencia lo mismo, decía Sabato: dicha afirmación pone de mal humor a los metafísicos, y de excelente ánimo a Borges. Análogamente, la afirmación de A&S pone de mal humor a los hechiceros y de excelente ánimo a los programadores.
De alguna manera, la afirmación A&S nos representa a los geeks -personas más bien introvertidas, aparatosas, intelectualoides, losers- como versiones posmodernas de Merlín o Gandalf. Nos transmiten la sensación romántica de que las diferencias entre foldl y foldr son las sazones de la cuatrifolia. Pretenden vendernos que Lisp es el equivalente moderno del dialecto sumerio (o acadio, o babilonio) en el que los personajes de Lovecraft invocan a Azathoth, y que un programa es un conjuro ante el que acuden los daemons.
Por otra parte, la "computación" se trata de muchas cosas, salvo de computadoras. Con el ánimo de rimbombancia de este post, aludiré una vez más a la cita de Dijkstra, uno de los ya próceres de la computación: la computación se trata de computadoras tanto como la astronomía de telescopios.
A&S ahondan algo más en esta idea, estableciendo una comparación entre las palabras "computación" y "geometría". Originalmente, la "geometría" era la ciencia que se dedicaba a medir el terreno -de ahí su nombre-; los antiguos egipcios estudiaban, bajo el nombre de geometría, el uso de instrumentos de medición. Con la experiencia y el tiempo, la geometría se destiló, y hoy lo que queda es su esencia: el estudio de las verdades acerca de las relaciones que se dan en el espacio y el tiempo.
Nosotros, los moradores del siglo XXI, vendríamos a ser los antiguos egipcios de la computación. Cuando no se tiene completo entendimiento de algún asunto, lo más normal es concretizarlo, y es nuestra falta de entendimiento la que hace que pensemos que la "computación" se trata de computadoras. Dentro de cientos de años, la computación se va a destilar, y se va a entender (generalizadamente) que su verdadera esencia es el estudio de las verdades acerca de los procesos.
Quien busca una palabra en el diccionario también está haciendo computación. Seguramente, así como todo el mundo alfabetizado aprende en la escuela a sumar y restar, en algún punto del futuro aprenda la diferencia entre una búsqueda lineal y una búsqueda binaria, entre un algoritmo recursivo y un algoritmo iterativo.
Egbert B. Gebstadter
Sobre proposiciones formalmente indecidibles de los Principia Mathematica y sistemas afines es el artículo de 1931 en el que Gödel demuestra el probablemente más famoso de sus teoremas. La genialidad de este hombre no tiene igual.
Probablemente lo más fascinante del método es que se anticipa a muchas de las ideas básicas de la computación. La más importante (a nivel puramente personal) me parece que es la que se conoce como "gödelización", que Hofstadter englobaría dentro de lo que llama jerarquías enredadas y bucles extraños.
Esta es una de aquellas ideas fáciles de enunciar, pero cuyas consecuencias son difíciles de entender. La idea es que cualquier sistema que maneje datos de manera suficientemente compleja, tiene la capacidad de simular su propio comportamiento. Bew de Gödel, la máquina universal de Turing, el intérprete autointerpretante de McCarthy son todos ejemplos de esto.
Y el párrafo anterior no dice nada hasta que uno no se sumerge en las profundidades del caos y contempla lo único que realmente tiene, que es su propia confusión.
No hay comentarios:
Publicar un comentario