La historia de Logo

Manuel Rubio traces Logo from its 1970s origins at MIT through its influence on Scratch and LEGO Mindstorms. Seymour Papert and Cynthia Solomon created the visual turtle interface inspired by Jean Piaget's constructivism, originally written in Lisp for Navy training. The language spawned over 300 dialects and shaped how kids learn to code today.
Chapters
¿Has visto alguna vez estos programas donde colocas bloques para realizar algunas acciones?
Me suena, es un programa con el que muchos niños aprenden a programar, ¿no?
¡Cierto! Aunque no se trata tan solo de un programa, sino de un lenguaje de programación.
¿Un lenguaje? Pero si no hay palabras.
No hace falta, es un lenguaje de programación visual y se expresa a través de esos bloques. De hecho, Scratch no fue el primer lenguaje que empleó este lenguaje visual.
Scratch surgió en 2007. ¿Su antecesor es de los 90?
Mucho más antiguo. Hablamos de un lenguaje de la década de 1970.
¿Tan antiguo? ¿Y era igual? ¿Usaba los bloques?
No, era visual pero no empleaba los bloques.
¿Visual? ¿Como Visual Basic?
No, nada de eso. Era visual en el sentido de admitir solo órdenes simples y una tortuga se movía por la pantalla obedeciendo esas órdenes. ¿Nunca lo viste?
¿Una tortuga moviéndose por una pantalla? ¿Seguro?
En sus versiones más antiguas era tan solo un triángulo que intentaba representar esa tortuga, pero sí, era parte del lenguaje LOGO y— No te preocupes si no sabes mucho de este lenguaje, te contamos cómo surgió y el principio del movimiento de la informática para niños.
Antes de continuar, un inciso. ¿Te gustaría apoyar a nuestro canal? No olvides que puedes suscribirte y activar la campanita para no perderte futuro contenido. También se agradecen me gustas, y además, si nos prefieres en formato podcast, podemos acompañarte desde Spotify. Ahora sí, continúa.
Seymour Papert había dedicado gran parte de su carrera a las matemáticas en Sudáfrica, y cuando hizo su doctorado en la Universidad de Cambridge, en Reino Unido, sobre lógica matemática y educación computacional, este tema le motivó tanto que terminó trabajando junto a Jean Piaget Jean Piaget se preguntó sobre la forma en la que los niños aprenden y elaboró unas teorías sobre el desarrollo cognitivo de los niños las cuales tuvieron mucha repercusión.
Esta colaboración entre ambos influyó enormemente en el enfoque de Seymour hacia la educación y la programación para niños.
Pero antes de adentrarnos un poco más en la programación específicamente para niños, o en general para personas ajenas al mundo de la computación, ¿Qué es programar? ¿Qué es programar? Me preguntas tú clavando en mi pupila tu pupila azul. Un arte en el que la mente cobra vida, el lenguaje de la máquina misma. El conjuro donde las ideas se tejen y con cada línea hechizas a la máquina ciega que obedece. Así que programas. Tú programas.
Déjate de poesía. Vamos al grano. ¿Qué es programar?
Cuando hablamos de Ada Lovelace en un capítulo anterior definimos qué era un programa.
Cierto, qué era un programa y qué es un programador, pero no dijimos qué era programar.
En cierta forma, podemos definir el acto de la programación como la acción de crear programas.
La RAE estaría contenta con tu definición. ¿No puedes especificar un poco más?
Bueno, la programación surgió de las matemáticas, estuvo muy ligada a ese mundo, y aunque se creó más tarde la profesión de programador, los matemáticos estuvieron influenciando este sector durante muchas décadas proponiendo mejoras, principalmente.
Como cuando en un capítulo anterior hablamos de los lenguajes relacionales propuestos por un matemático, Gödel, originando el Gran Debate?
Sí, exacto. Ten presente que incluso hubo lenguajes de programación como APL que tenían un teclado especial con símbolos matemáticos para poder programar.
Pero los no matemáticos no estaban dispuestos a programar usando esos símbolos, tal y como le dijeron a Grace Hopper una vez: Quita esos símbolos, no los entiendo y no tengo tiempo para aprenderlos.
¿Es más fácil entonces la programación sin estos símbolos?
Programar usando palabras se ha tenido siempre por más fácil que empleando símbolos matemáticos. En la década de 1960, además, las interfaces gráficas comenzaron a mejorar y, aunque en décadas anteriores no habían sido muy empleadas, en esta década comenzaron a desarrollarse programas y lenguajes que las empleaban.
¡Anda! Como Sketch, del que hablamos en el capítulo del desastre del billón de dólares, que empleaba elementos gráficos, ¿no?
Por lo que tenemos, 3 formas de programar, ¿no? Una forma más matemática, una forma más de negocio empleando palabras y otra forma visual para enseñar a niños principalmente.
El nacimiento de Logo. Como hemos dicho, Logo no era solo para niños. Seymour ingresó en el MIT, el Instituto de Tecnología de Massachusetts, en la década de 1960 como investigador y como profesor y fue allí donde conoció a Cynthia Solomon y a Wallace Farsight. Pero los inicios de Logo no fueron directamente para enseñar a los niños a programar, me temo.
¿A quién estaba destinado entonces?
La empresa y firma Bolt, Beranek& Newman era un centro importante de investigación informática y usos innovadores. Wallace trabajó en esta empresa al igual que otros grandes programadores como Marvin Minsky o John McCarthy. El MIT y la BBN trabajaron juntos en programas de investigación sobre ciencia cognitiva e investigación educacional, sobre todo la comunicación entre hombre y computador.
¿Comunicación hombre-computador? ¿Se refiere esto a la forma de hablar con las computadoras?
En cierta forma sí, en aquellos días se llamaba así. Hoy en día quizás se pueda encontrar como interfaces de usuario o experiencias de usuario. Se puede reducir a la forma en que empleamos los computadores y uno de los contratos que propiciaron la investigación que propició el desarrollo del lenguaje LOGO fue hecho por la Marina de los Estados Unidos para saber cómo podrían emplearse los computadores para formar al personal naval.
Pero el equipo que desarrolló estas investigaciones no estaba enfocado a niños principalmente?
Sí, el director de programas de la Marina, Glenn Bryan, les dijo que les valdría igual porque tenían mocosos en sus filas, así que se pusieron a ello. Al principio tuvieron algunos problemas con la financiación porque BBN no era una universidad y el estado en aquellos momentos solo financiaba universidades para temas de investigación, e incluso la creencia de que las computadoras, que eran de un tamaño considerable, se percibían como material de oficina, por lo que no se consideraba o no se pensaba en ellas como material educativo. No obstante, Wallace consiguió convencer a los funcionarios y comenzaron el proyecto. El lenguaje Logo.
El lenguaje de programación Logo era muy, muy simple y gracias a esa simpleza permitía a los aprendices dibujar, hacer gráficos, animaciones, simulaciones, juegos, resolver problemas matemáticos... Implementar algoritmos y exponer la creatividad y expresión artística de sus usuarios.
¿Y por qué le pusieron de nombre Logo?
Seymour eligió este nombre porque quería enfatizar que el lenguaje se basa en la palabra y el conocimiento, por su significado del griego logos, significa palabra o conocimiento, y así darle un sentido más allá de emplear el lenguaje solo para las matemáticas o la lógica matemática, utilizarlo para la expresión, la creatividad y la comunicación.
Teniendo en cuenta la fecha y que trabajaron cerca de John McCarthy, Logo se relaciona con Lisp en algún modo.
Sí, de hecho Logo se escribió inicialmente en Lisp, por lo que tenía una base bastante desarrollada dentro de la inteligencia artificial. De este trabajo se encargó Danny Bobrow. De hecho, la influencia inicial de Lisp fue tal que Wallace decía que Logo era un dialecto de Lisp. Pero de Lisp hablaremos en otro momento.
Y teniendo en cuenta que al principio solo se veía triángulo moverse en la pantalla. ¿Por qué le llamaron tortuga?
La tortuga tiene su trasfondo en el laboratorio de inteligencia artificial del MIT. De hecho, cuando fueron por primera vez a una conferencia cruzando el océano Atlántico, a Exeter, en Reino Unido, en 1972, Seymour llevó consigo una tortuga robótica porque quería demostrar, tal y como había aprendido años atrás con Piaget, que los estudiantes construyen su comprensión del mundo a través de un proceso de epistemología genética.
Un momento. ¿A través de un proceso de qué?
Un proceso dinámico donde la comprensión se modifica continuamente por nuevas experiencias.
¿Cómo enseñaba eso Logo?
A través de su tortuga y la creación de un mundo o micromundo, un entorno rico en potencial educativo.
Entonces, ¿era un combo? ¿El robot físico y el lenguaje trabajaban juntos?
En un principio sí. La demostración de Logo en Exeter se llevó a cabo con estos dos elementos y muchos informáticos como Donald Michie adoptaron ambos para enseñar ¿Donald Michie no ayudó a Alan Turing a descifrar los códigos alemanes de la máquina Enigma? Sí, y como pasó con John von Neumann en Oppenheimer, el joven Donald Michie, que jugaba a las partidas de ajedrez con Alan Turing para practicar los algoritmos de inteligencia artificial y estuvo junto con él rompiendo el código de los alemanes, tampoco aparece en la película.
¿Donald Michie entonces ayudó a implantar la computación como herramienta de educación?
Sí, y tuvo suerte porque el primer ministro de Reino Unido recién elegido quiso apoyar el progreso y destinó fondos a que esto pudiera ser posible permitiendo la computación en clase para niños. El futuro de las tortugas.
Hmm, el libro que escribió Seymour llamado Mindstorms en 1980 hablando de Logo y sus tortugas me recuerda un poco a LEGO Mindstorms.
Pues no solo tiene similitud, LEGO reconoció que se basó en las ideas de Seymour y su libro para desarrollar su serie Mindstorms y sus kits para la construcción de robots programables, siendo un homenaje a su trabajo.
Entonces, Logo fue una gran influencia aunque ya no esté tan presente.
En realidad, Logo sigue estando presente. Existen aún muchos programas tanto para Windows como FSM Logo, que tiene una bonita historia detrás. De hecho, FSM viene de las siglas en inglés de Fight Multiple Sclerosis, lucha contra la esclerosis múltiple. En GNU/Linux tenemos a KTurtle y otras iniciativas también como Turtle Art o Blockly, este último de Google que se presenta como un juego donde hay que ir resolviendo puzzles con código realizado en Logo.
Entonces Logo sigue bastante vivo y siguen la idea de Seymour.
Sí, aunque de una forma un poco diferente. Muchos lenguajes como Scratch intentan crear ese micromundo en la pantalla del ordenador en lugar de contar con una tortuga pintando en el mundo real. Los primeros y más antiguos lenguajes que prescindieron de la tortuga mostraban un triángulo en pantalla y más tarde, cuando la tecnología avanzó, puede verse no solo el dibujo de la tortuga sino también la eliminación de la escritura de texto en pro de colocar bloques gráficos.
No todos los logos son iguales entonces, ¿no?
No, de hecho existen muchas implementaciones y dialectos de logo debido a que no existe una estandarización del lenguaje como tal. En 2014 un equipo de personas reunió todos estos dialectos e implementaciones en un documento llegando a contar 303 y algunos de estos dialectos incluyen implementaciones en español. Conclusiones.
En estos días nos parece muy normal ver clases de programación para niños con lenguajes como Scratch, Python... y realmente sería extraño encontrar alguna clase que incluya Logo o incluso las tortugas.
Estas clases han evolucionado desde aquel primer momento, pero siguen manteniendo el espíritu inicial de dejar al estudiante experimentar, probar, ver el resultado, corregir y repetir hasta obtener el resultado deseado con una validación rápida y automatizada.
El trabajo de Wallace Fersage, Cynthia Solomon, Seymour Papert y Danny Bobrow creando este lenguaje y este entorno de aprendizaje fue no solo un trozo de código sino una metodología de enseñanza y un saber hacer dentro de la comunidad educativa muy importante que permeó principalmente en la educación del Reino Unido, donde se implantó casi de inmediato, y posteriormente en otros lugares.
Ahora te toca a ti.
Has aprendido programación. ¿Con qué lenguaje?
¿Cómo fue tu experiencia en general? Si quieres que te recomendemos algunos sitios web para aprender desde cero programación con lenguajes visuales, respondemos todos los comentarios. ¡Déjanos tu comentario!
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








