El pasado 27 de abril se celebró en Colombia el día del niño, y aunque ya antes habíamos hablado de distribuciones hechas para niños,  en esta ocasión hablaremos de una herramienta que le permite a los más peques incursionar en ese maravilloso mundo que es la programación.

Desde hace bastante tiempo varias personas han intentado que los niños y niñas se acerquen a la programación e incluso hoy en día se habla que es necesario pensar en generaciones que tengan entre sus habilidades el desarrollar software. Desde Seymour Papert y su famoso Logo Turtle, se ha ido evolucionando hacia lenguajes o plataformas como Squeak hasta llegar a nuestro invitado de hoy: Scratch.

Básicamente programar, es ordenar pasos para lograr un fin; que a la larga es la actividad diaria que hacemos desde que nos levantamos hasta que nos vamos a dormir. Scratch, maneja un concepto bien particular que habla de mezclar pasos, de ahí su nombre "scratch" palabra usada en el mundo de las mezclas musicales para referirse al movimiento sobre la tornamesa; los creadores de Scratch creen que los niños pueden crear sus obras usando distintos elementos como compositores musicales. Scratch fue creado por Mitchel Restick en el MIT Media Lab, quien es alumno de Seymour Papert.

La interfaz de Scratch, es bastante intuitiva lejos de las complejas interfaces de los IDEs de programación. Básicamente se divide en tres paneles: 

1. Panel de Elementos: En este panel, los niños encuentran distintas categorías de elementos para utilizar clasificados por colores:

  • Movimiento (Azul) : Maneja los movimientos del elemento a programar, se compone de movimientos de avance y giros (Similares a los de Logo Turtle), así como controles para evitar desbordes y cambios de posición basados en un plano cartesiano.
  • Control (Naranja) : Maneja estructuras de programación, allí se pueden encontrar desde "repetir" hasta el clásico if representado como un "si".
  • Apariencia (Violeta) : Maneja los cambios de apariencia del objeto, colores y disfraces así como la interacción de "hablar" y "pensar" frases.
  • Sensores (Aguamarina) : Maneja la interacción con el usuario, controla los eventos del ratón y el teclado.
  • Sonido (Púrpura) : Maneja la reproducción de sonidos predeterminados (en especial instrumentos musicales), el control del volumen y los tiempos para la ejecución de dichos sonidos.
  • Operadores (Verde) : Ofrece los operadores matemáticos y de cadenas de caracteres para interactuar con las variables del programa.
  • Lápiz (Verde oscuro) : Remembrando a Logo Turtle, este permite utilizar el lápiz de dibujo con bloques que se refieren a las instrucciones usadas en el lenguaje de Papert.
  • Variables (Naranja oscuro) : Permite definir variables y vectores (Listas) para realizar la programación.

2. Panel de programación: Este se compone de tres pestañas. En la primera se van armando los bloques de programación tomándolos del panel anterior. En la segunda pestaña se tienen los disfraces predeterminados o importados para dar apariencia a nuestro objeto; y en la tercera se colocan los sonidos usados en el programa (a parte de los predeterminados) .

3. Panel de ejecución: Aquí se puede ver lo que vamos programando, ya que al hacer clic sobre los bloques del segundo panel el objeto realiza las acciones programadas. También se puede lanzar en pantalla completa.

Los trabajos se pueden compartir en el sitio de Scratch http://scratch.mit.edu/ y también se pueden descargar en un formato que se puede abrir desde el programa. Scratch está disponible para GNU/Linux y para los sistemas operativos privativos que la mayoría conocen.