Los lenguajes de programación vienen en muchos “colores y sabores”. Los hay estructurados, los que no lo son tanto, los que tienen estructuras de datos sofisticadas, aquellos que nos permiten interacturar directamente con dispositivos externos, etcétera. Cada lenguaje de programación tiene sus pros y contras y elegir qué lenguaje usar a veces no es tarea fácil.
Para tener algunos criterios que nos puedan ayudar a resolver esta interrogante, no sólo hay que fijarse en las prestaciones del lenguaje en sí (por ejemplo, si soporta cierto tipo de bibliotecas), sino en las herramientas que el entorno de programación ofrece, por ejemplo, el depurador. ¿Permite ver las variables locales, sus valores? ¿qué hay del flujo del programa? ¿Podemos poner breakpoints en los momentos críticos? etcétera. Dependiendo de todo esto a lo mejor podemos tomar una mejor decisión y hallarnos con una herramienta que nos permita desarrollar código confortablemente.
Con esto en mente, el Online Python Tutor es un tal vez una herramienta que nos puede hacer ver con buenos ojos a este sofisticado lenguaje que es Python, que poco a poco va cobrando popularidad (por ejemplo, permite estructuras tipo listas, como en Prolog, cosa que no es común ver en lenguajes imperativos).
Gracias a esta herramienta visual gratuita, podemos ver lo que está haciendo un programa. Se puede escribir en el navegador directamente el programa en Python y correrlo inmediatamente. Como puede verse en la ilustración, al moverse de instrucción en instrucción, podemos ver qué está guardado y dónde, qué variables tienen cuáles valores, así como referenciarlas por su nombre. Vaya, hasta la herramienta permite manejar los casos de la recursión, en donde en cada ciclo recursivo se van creando variables locales. Se puede ir línea por línea y si se quiere una “película de acción” entonces se puede mover un control como si se tratara de una película de video, que nos permite llevarnos al punto que queramos.
De hecho, ya está siendo usado por un buen número de libros de texto en línea, en donde lo que hay que hacer es pegar la animación del programa en la página web que queramos escribiendo una línea de código en Javascript (algo parecido a lo que hacemos cuando insertamos un video de youtube en alguna otra página), aunque en la documentación no dice exactamente cómo hacer esto.
Las buenas noticias aquí no paran. Este proyecto es de código abierto y se puede jugar con él para mejorar o modificar lo que el programa hace. Está construido en… adivinen… Python y Javascript y solamente necesita un servidor con capacidades CGI (o el Google App Engine), para instalarse.
Se tiene planeado añadir un medio ambiente en línea para desarrollar contenidos de enseñanza, para así crear más que un tutor en línea de Python, sino tener todo un sistema con anotaciones y lecciones completas.
Referencia: Online Python Tutor