El mundo de la programación educativa comienza con lenguajes basados en gráficos, como Scratch o alguna de sus alternativas, y a pesar de su amplio recorrido termina quedándose corto para muchos. O más que corto, pequeño; hay muchos lenguajes más "reales" que son una opción para continuar trabajando en el mundo de la programación.
Existen cientos de lenguajes de programación educativa, cada uno con una serie de características. Si lo que buscamos es un entorno destinado al sector educativo, éste existe: lenguajes nacidos para ser profesionales, pero que por su facilidad también tienen espacio en escuelas por todo el mundo. Y hoy te proponemos 6 de estos lenguajes y plataformas para programar, perfectos para los que la programación educativa por bloques más típica de Scratch.
CodeBug
Una iniciativa desarrollada en Reino Unido que mezcla programación educativa y código junto con la interacción con un dispositivo físico, de pequeño tamaño, que es el punto central que aporta la experiencia completa de software+hardware. CodeBug nace como una pequeña ranita que contiene luces, botones y elementos a los que conectar otros accesorios (como luces, cables, plastilina; tipo Makey Makey), junto con una interfaz completamente web en la que podremos desarrollar nuestros programas y realizar nuestras creaciones.
Una de las grandes ventajas de CodeBug es que esta plataforma en línea combina la programación educativa por bloques junto con el código de Python y JavaScript, y que también simula el comportamiento de la ranita en el caso de que no la tengamos. Nos permite elegir en qué queremos programar y alternar entre un lenguaje u otro con tan solo un clic, todo desde un navegador web. Disponen de unos cuantos tutoriales muy interesantes para aprender a dar los primeros pasos y que están divididos en tres niveles de dificultad (iniciación, intermedio y avanzado), así como de una sección para explorar y aprender de los proyectos creados por otros usuarios.
AppLab
Presentada a mediados de 2016, AppLab forma parte de las herramientas de la plataforma Code.org y permite crear aplicaciones web para móvil con unos pocos pasos, y de una forma muy sencilla y elemental: a través de bloques de colores. Sin embargo, además de permitirnos arrastrar bloques para crear nuestro código, también nos ofrece la posibilidad de cambiar a un 'modo JavaScript' para directamente escribir las instrucciones y demás, todo simplemente haciendo un único clic con el ratón.
Una vez hayamos creado nuestra aplicación podremos ejecutarla en cualquier smartphone o tablet del mercado, a través de un navegador. Sin necesidad de conocimientos avanzados de programación educativa, sin palabras técnicas y además multiplataforma y completamente gratis. Code.org también dispone de unos cuantos tutoriales en vídeo y retos para ponerte a prueba y comprobar tus conocimientos.
App Inventor
Es posible que App Inventor sea, junto con Scratch, la plataforma de programación educativa más conocida debido a lo llamativo que es diseñar y programar apps de Android. De código abierto, libre y gratuita, está especialmente al mundo de la educación y del aprendizaje de la programación, y permite de una forma muy sencilla crear tus propias apps para un teléfono o tableta que tenga el sistema operativo Android.
Desarrollada por el MIT en colaboración tanto con Google como con otras asociaciones, merece la pena darle un intento y descubrir tanto sus recursos para profesores como sus guías para iniciarse o sus tutoriales para aprender y avanzar en la plataforma y en el desarrollo de este tipo de aplicaciones. Funciona con bloques, como Scratch, pero su potencial permite también aprovechar algunas características de los móviles actuales, tales como la cámara, los sensores o por supuesto también las pantallas táctiles.
JavaScript
JavaScript ha estado tradicionalmente ligado con el mundo del diseño web, siendo un lenguaje nacido en 1995 y con gran uso a nivel profesional, en webs de todo tipo. Aquí el foco no debe estar en sacarle rendimiento para crear webs, sino el aportar un lenguaje escrito de programación educativa sencillo de introducir y con resultados que se entienden rápidamente.
Hay multitud de tutoriales alrededor de JavaScript, la mayoría de ellos enlazados con HTML y CSS —los primos-hermanos de JavaScript, tradicionalmente los lenguajes que crean la WWW— como Dash. El curso de Code School puede ser un muy interesante punto de partida, y si quieres algo más divertido CodeCombat también permite utilizar JavaScript para ir avanzando en sus niveles.
Processing
El caso de Processing es más reciente, del 2001, aunque tardó unos cuantos años más en alcanzar el éxito. La clave de Processing, más que el lenguaje como tal, está en las posibilidades que brinda junto a Arduino, una de esas plataformas más cercana a la electrónica y a la robótica y que, por ello, puede ser muy atractiva para el sector de la programación educativa; es también un lenguaje basado en los míticos BASIC y Logo.
De Processing hay un montón de tutoriales oficiales, una guía paso a paso (también oficial) para dar los primeros pasos, e incluso también un excelente tutorial interactivo con vídeos explicativos. SparkFun, reyes del mundo de la electrónica, nos cuentan cómo conectar Processing y Arduino para elaborar tus primeros proyectos en la plataforma DIY.
Python
Y cómo no iba a estar en esta lista Python, para muchos el siguiente paso después de Scratch. Un lenguaje profesional —el cuarto según Tiobe— pero que merece la pena aprovecharlo en educación por su facilidad y potencial. Es, además, uno de los lenguajes con mayor número de recursos explicativos, incluyendo desde introducción y primeros pasos hasta guías avanzadas.
Millones de usuarios por todo el mundo han creado sus propias librerías, como PyGame para crear videojuegos de forma relativamente sencilla. Si lo que buscas es tutoriales del lenguaje entonces CodeCombat lo soporta y también CheckIO como tutorial basado en un juego. Si quieres tutoriales más guiados los hay por todos lados, por ejemplo el de CodeCademy o el de LearnPython pueden ser interesantes.
Muy interesante, yo me quedaría más con phyton y processing, aunque Scratch como que quedarse corto, no lo creo, cumple su función.
Saludos.
¿AppInventor basado en texto?
Ops, ampliamos este artículo y dejamos lo de los lenguajes de texto. Ya hemos actualizado para que no haya dudas, la idea es dar alternativas más avanzadas.
Gracias!