Logo es un lenguaje de programación de alto nivel, cuya idea es la de enseñar programación a niños y jóvenes. Fue inventado por Danny Bobrow, Wally Feurzeig y Seymourt Papert. Logo se basa en Lisp y bien podría ser considerado un dialecto del mismo. Sin embargo, en términos reales, Logo es mucho más fácil de aprender que Lisp y se enfoca en enseñar los elementos fundamentales de la programación como son listas, entrada y salida (archivos, impresión), recursión, estructuras de datos, etcétera.
Papert en particular, desarrolló una interesante visión de Logo a partir de su experiencia con Piaget a principio de los años sesenta. La idea es la de presentar a los niños retos intelectuales que puedan ser resueltos usando como herramienta Logo. Como los errores de dedo son inevitables, de acuerdo a Papert, el proceso de revisión de los mismos por parte de los niños programadores hace que desarrollen habilidades metacognitivas (aprender a aprender, por si no le gusta el término usado por Papert).
Logo, sin embargo, es más conocido por su sistema de gráficos, basado en algo que se llama “turtle graphics” y que no es otra cosa que poder en dar instrucciones a una tortuga virtual, un cursor gráfico, para crear dibujos, que en algunas versiones es un triángulo, en otras tiene la figura de una tortuga vista desde arriba. Esta tortuga o cursor se maneja mediante palabras que representan instrucciones, por ejemplo:
- forward 100 (la tortuga camina hacia delante 100 pasos)
- turnright 90 (la tortuga se gira hacia la derecha 90º)
- turnleft 30(la tortuga se gira hacia la izquierda 30º)
Logo es recursivo (igual que Lisp) y eso hace que esta técnica se convierta en algo común en quienes aprenden a programar usando este sistema.
Es interesante además saber que el Logo se ha regionalizado y hay muchos intérpretes y compiladores en diferentes idiomas, entre ellos: FMSLogo, LogoWriter, WinLogo, Logo Gráfico, XLogo, MSWLogo y LogoEs. Logo tiene más de 180 intérpretes y compiladores, según constan en el proyecto “Logo Tree”. Y por si fuera poco, XLogo, MSWLogo y LogoES tienen la particularidad de ser además software libre.
Así que, aunque se escuche poco de este lenguaje, parece que tiene muchos seguidores.
Referencias: