¡Hola! Estos son .txt de algunas notas que salieron en los números impresos de Revista Replay. Por favor, considera colaborar con Revista Replay comprando algún número impreso en nuestra página revistareplay.com.ar Y sino, POR FAVOR, COMPARTÍ ESTE .TXT MALDITA SEA!!! .--- / .' ° ; ,' ; ,---, _ ,.. / : .' .'.-.-.-. | '. : /, ; ; 0'''''''''0 , .'| ' '. './ :, ,'| | (/ ...... \) , | : .:.:| '. ', / :, ; ; (. .' '. .) .' : | |___ ,' / | : (' .' '. ') ,' | ' : ___| : , ''. : | 0 . . 0 |..,' | | '| / : ', ': ! ! ! . . ! | | : ':.:, '' : / : \ ' ' ' . . ' ' : | | /_.: \__':__! (. . . .) | | '`.,:.:-: ( . . ) ; : ; ' ' 0 | , '. '.' . '---' '.....' ,---,.. ,' '. , .... '. .... .-.-.-.-.-.-. | ' '. '. ; ; ' ' : '....' . | | | ----- | .-----. : .' . . . '.....' . .' ' | :.-.-.-' ; ; ... ; _____ ; .' .'| | .... ....... | | | | ; ; | | | | .' .' . . .' : 0 ... 0 ' : : : .' : . . . . .: : ' ' .' .' | ' ' | | | | |.' .' | | | | .' .' | .' .' 0 '.' 0 | : : .' ; ; ; ; ''''' : .' '.....' | | . ,' : : : : '...'...' `---- `----' '''' '''' Publicada en Revista Replay #16 .txt SERGIO ANDRÉS RONDÁN --------------------------------------- |TÍTULO: COMPILADORES Y BASTONES LARGOS| --------------------------------------- BAJADA: Clementina fue la primera computadora argentina, y con ella nacieron los primeros hackers e investigadores de los bytes. De allí surgirían los inicios del software nacional, el primer lenguaje y compilador e, incluso, el primer juego computacional de la historia nacional. La historia del desarrollo de la computación en nuestro país está íntimamente ligada al Estado, pues fue este quien, a través de la Universidad de Buenos Aires, compró una Mercury Ferranti, bautizada como “Clementina”. El equipo llegó al país en 1961 y costó unas 150 mil libras de aquel entonces. De la mano de Manuel Sadosky, matemático y físico, funcionaba el Instituto de Cálculo (IC), donde se brindaba la carrera de computador científico, que luego se transformaría en la licenciatura en Ciencias de la Computación. Centenares de matemáticos, físicos, meteorólogos y estudiantes de diversas carreras de ciencias exactas crearon programas para Clementina bajo el ala del IC. Casi la totalidad de estos se perdieron, pero en 2011, Wilfred Durán apareció en una conferencia con una misteriosa cinta perforada de 176 metros que contenía un programa para la máquina. Gustavo del Dago, que se hallaba presente en la charla, se propuso una titánica tarea: crear un emulador de Clementina para poder leer COMIC, el primer lenguaje de programación y compilador de nuestra historia computacional. R: Hablemos un poco del comienzo de esto. ¿Cómo llegaste a Wilfred? En el año 2011 se realizó una conferencia por el 50° aniversario del arribo de Clementina a nuestro país. Se brindaron una serie de charlas y, además, se propuso un concurso para programar en Clementina, porque decían que iban a tener un emulador de la máquina. Esa fue la verdadera motivación para ir, porque, en primer lugar, soy un programador, y por otro lado, hace años que me dedico a la investigación sobre la historia de la computación. La realidad es que cuando llegué, el emulador no estaba disponible todavía. Pero en medio de eso, asistí a una charla, donde apareció Wilfred y contó su historia: él había creado un lenguaje de programación y un compilador en Clementina, basado en otro lenguaje llamado Autocode. Tenía la cinta en sus manos: la conservaba en su caja original... Bueno, no tan original, porque, en realidad, era la caja del Autocode: le había tachado el nombre y escrito “COMIC” debajo. Un detalle muy argentino y gracioso a la vez. R: Nos cuesta imaginar la creación de un lenguaje de programación y mucho más asociarlo a nuestro país en esa época. ¿Su intención fue desarrollar algo local? Bueno, eso es algo interesante de analizar, porque la realidad es que él nunca tuvo un interés por gestar un proyecto de desarrollo nacional. De hecho, durante el año 60, él había estado girando por varios países buscando lugares donde poder trabajar con alguna computadora, porque ese era su verdadero interés: el estudio de problemas computacionales. Y justo se dio que volvió al país en el momento en que adquirieron a Clementina y que Sadosky puso en funcionamiento la investigación en el IC. Wilfred estaba en la facultad cuando la computadora llegó al país. Como el IC tenía entre sus misiones la investigación, la docencia y los servicios, él pudo trabajar con Clementina, que era un equipo de altísimo porte, muy caro. Su uso estuvo vinculado más que nada con investigaciones físicas-matemáticas y con la solución de problemas de servicios. El hecho de trabajar sobre un lenguaje de programación se salía un poco de ese eje, pues se trataba más bien de una investigación intracomputacional, tal vez la primera del país. Fue en este contexto que Wilfred comenzó a acercarse a la máquina y a planear la idea de un lenguaje de programación un poco más amigable. Los usuarios que utilizaban Clementina tenían que saber de programación para poder crear sus programas de investigación. Mayormente, estos usuarios eran matemáticos, físicos, meteorólogos, y Wilfred se dio cuenta de que el Autocode era limitado y no se adaptaba a las necesidades de la comunidad. R: Hoy es impensable tener que crearte tu propio programa para investigar. ¿Cuáles fueron sus primeros pasos entonces? Lo primero que hizo fue una traducción [al español] del Autocode. Hoy en día, pensar en traducir un lenguaje de programación es bastante absurdo, porque da lo mismo poner PRINT que IMPRIMIR, pero no podemos juzgar eso con los conocimientos que tenemos hoy en día. Además, eso le sirvió, de todas formas, para estudiar el código, un paso previo muy importante. R: ¿“Estudiar” el código? Suponemos que no existían todavía las leyes de copyright al respecto. No, claro, la idea de patentar un código hubiera sido un absurdo. Además, pensemos que de las Mercury Ferranti se hicieron unas 21 y creo que Clementina fue la número 19: la máquina estaba tan ligada a su código que era imposible venderla sin él. El software no tenía protección. Hablando mal y pronto, lo que hoy llamaríamos “sistema operativo” (con muchísimas comillas) y que en Clementina se denominaba Input Routines, venía escrito en un manual manuscrito en pluma, con su código fuente completo. El libro es enorme y tiene una encuadernación hermosa, parece un grimorio de la Edad Media. Wilfred tenía acceso a esto, entonces, pero no al Autocode, porque ese programa se distribuía solo en su código binario, por lo que debía realizar un trabajo de ingeniería inversa para poder interpretarlo. Fue así que se granjeó un lugar en el IC, donde se dedicó exclusivamente a problemas computacionales, cuando la máquina estaba pensada para cálculos matemáticos o problemas científicos varios. Así que cuando Clementina no estaba calculando el cauce de algún río o la órbita de un planeta, Wilfred la utilizaba para, básicamente, estudiarla en sí misma. R: Un hacker con todas las letras: usando la computadora para algo para lo cual no estaba pensada. ¿Y para que más utilizó la máquina? Créase o no, podemos decir que Wilfred tal vez haya creado el primer juego de la historia argentina, porque logró realizar una adaptación del juego matemático NIM. Por si no lo saben, es un simple juego donde cada jugador debe sacar uno o dos palitos por turno, y gana el que levante la última varilla. Para jugar, se utilizaban los dispositivos de entrada y salida que tenía la máquina, es decir, llaves y cinta perforada. Según las llaves que levantabas, sacabas uno o dos palitos. Esto se dio a conocer en la presentación en sociedad de Clementina, que salió en algunos diarios. Pero, sin lugar a dudas, lo más importante fue la realización del COMIC, el COMpilador del IC. En el año 63, Wilfred ya tenía en mente crear un lenguaje nuevo, pues se dio cuenta de que el Autocode ya era muy limitado. De hecho, Clementina ya estaba muy obsoleta, pero debía seguir siendo utilizada, por la inmensa inversión que había significado. Él conocía de oídas el ALGOL, otro lenguaje utilizado en estas grandes computadoras. El matemático Varsavsky había viajado a Estados Unidos y vio el lenguaje en acción: se trajo algunos programas, se los dio a Wilfred y le contó lo que había visto. Así, Sadosky le permitió trabajar en esto como un proyecto de investigación y lo dotó de un equipo, que llegó a contar con 4 investigadoras. Mediante un trabajo de ingeniera inversa entre el Autocode y lo que conocía de oídas del ALGOL, Wilfred logró crear el primer lenguaje y compilador del país. COMIC vio la luz ese mismo año, pero estuvo en desarrollo durante sus tres años de vida. Centenares de programas y tesis finales se desarrollaron bajo ese lenguaje, pero, lamentablemente, nada queda de ellos, porque en el año 1966, los militares entraron a las facultades y todo se destruyó. R: Hablamos de la Noche de los Bastones Largos, ¿cómo influyó eso en COMIC y el IC? Me queda muy claro que todo este desarrollo de vanguardia y pionero estuvo bajo el ideario de Sadosky. Wilfred fue un instrumento más sin darse cuenta. Él siguió su interés técnico y Sadosky concretó un desarrollo local de vanguardia en la Argentina de los años 60, en un lugar de excelencia como el Instituto de Cálculo. Y esto fue lo que, básicamente, vino a hacer mierda el golpe militar. No es curioso que no nos hayamos enterado de todo esto, porque todo se destruyó. El golpe tiene que ver con eso, con eliminar esa línea de investigación, ningunearla y ocultarla. Esa es la historia que no se cuenta. Tuvieron que pasar 50 años para que Wilfred volviera al país con la cinta. Porque luego de esto se dio la fuga de cerebros más grande del país, y él no fue la excepción. Cuando pasó, hizo lo que haría cualquier programador: llevarse su código fuente. Es curioso, porque pensemos que él se llevó una cinta que no iba a poder reproducir en ningún lado, porque solo funcionaba en esa máquina. Para el 66, Clementina era un engendro: se le habían hecho múltiples modificaciones al hardware y COMIC solo funcionaba allí. De hecho, el lenguaje tenía una función para utilizar un antiguo plotter que graficaba con una pluma; esta interfaz fue diseñada por Cristina Zoltan. R: Es horrible pensar en todo lo que se debe haber perdido a causa de la represión. Por suerte, Wilfred apareció y se cruzó con vos. ¿Cómo sigue la historia luego de conocerlo en la charla? En ese momento entré en conversaciones con Wilfred y le transmití mi idea: crear un emulador de Clementina para poder correr COMIC e investigarlo. Él se mostró entusiasmado inmediatamente, me facilitó la cinta y ahí fue donde comenzó todo este embrollo. Debía crear un emulador para una máquina que ya no existe, pues recordemos que solo se hicieron 21, de las cuales ninguna se encuentra en funcionamiento. R: Claro, no estamos hablando de hacer un emulador de un equipo que existe y podés investigar. Totalmente, tenía que realizar otro tipo de emulación, que se denomina “emulación funcional”. Me contacté con un profesor de la Universidad de Edimburgo, que me escaneó todo el manual de la Input Rutine (el “sistema operativo”) de la Mercury Ferranti. Es decir, yo no tengo la máquina para investigarla, pero conozco las instrucciones básicas. Por ejemplo, si tengo un manual de instrucciones del Z80, puedo crear un equipo que funcione como un Z80 sin haber visto jamás uno. Con eso y la cinta perforada como un programa para testear, podía comenzar a trabajar en el entorno de emulación. Pero, obviamente, tener un programa no me sirve de nada si no puedo leerlo, ¡y más si ese programa es una cinta de 176 metros! ¿Cómo leerla? Necesitaba un “lector” para esa cinta y en nuestro país no encontré ninguno. Por eBay vi varios, pero eran muy caros y, además, había otro problema: eran equipos viejos. No podía someter la única copia de COMIC a un lector que podría romper la cinta. Entonces, decidí armar una propia. Conseguí un cabezal de una máquina de teletipo, lo cual me serviría para pasar y leer la cinta. Luego arme una interfaz conectada a una placa de entrada y salida de PC para manipular todo desde una computadora. Y finalmente, la parte más tediosa: ¡pasar 176 metros de cinta, a mano! R:¡Increíble! No me imagino lo tedioso que habrá sido todo eso. Absolutamente, pero digamos que eso fue una tarea mecánica. Lo complicado fue todo el estudio del equipo sobre la base de los manuales que tenía. Hay que entender eso, trabajar con este tipo de equipos es muy dificultoso, tanto es así que llamé a esta metodología de trabajo “arqueología digital”. En este sentido, mi emulador, luego de un año de trabajo, quedó funcionando. Pero, por supuesto, no todo funcionaba, porque yo simplemente tenía un manual de programación, pero no de operación. Recordemos: estas máquinas necesitaban operadores que supieran cómo ingresar los programas. Uno podía pasarse toda su carrera programando para Clementina desde la comodidad de su escritorio y no verla jamás. Por eso hay una gran parte de la funcionalidad que todavía no pude descular del todo. R: Totalmente, una tarea titánica para preservar una parte de la memoria informática del país. Para ir cerrando, contanos cómo ves el panorama de la preservación en Argentina. Yo me crucé a Wilfred en 2011, un momento de renacer del desarrollo tecnológico y científico del país. Recuerdo que incluso a la semana fui a Tecnópolis con mis hijos... Todo esto me motivó muchísimo para avanzar. Pero la realidad es que es un trabajo muy difícil. Formo parte de la SAMCA (Salvando la Memoria de la Computación Argentina), que hace todo su trabajo ad honorem. Pero además, las investigaciones son de ramas más “duras”, digamos, enfocadas a cuestiones más computacionales. No hay demasiado trabajo científico sobre lo sucedido en otras cuestiones, por ejemplo, lo que circuló durante los años 80. Cuando leí la nota que le hicieron a los creadores TRUCOTRON, lo puse en el MAME y comencé a estudiarlo: encontré sets de gráficos alternativos y pude analizar parte del código. No pude investigar más, pero creo que se debe avanzar en ese sentido. Definitivamente hay un hueco en cuanto a investigaciones de historia computacional en los años 80. Hay un mundo desconocido en esa década que necesitamos historizar. .--------. |RECUADRO| .--------. La trolleada no prosperó Wilfred orquestó una mejora de último momento al COMIC. Quería agregarle a su sistema de error una salida que dijera: “No anda, mi General”, pero Sadosky no se lo permitió. EL PRIMER JUEGUITO Jugar con Clementina no era fácil. Para elegir cuántos “palitos” querías sacar, el operador de la computadora debía subir o bajar una serie de palancas, que eran los “inputs” del equipo. Luego, para “ver” la respuesta del equipo, se esperaba a que la cinta pasara, fuera perforada y mostrara un mensaje, no en binario, sino con una tipografía. Wilfred, de alguna manera, había cambiado la forma en que Clementina devolvía la información, que siempre era en binario.