Cuando se quiere enseñar a programar a niños, la idea más común es comenzar con programación Scratch y, cuando más o menos la domine, pasar a lenguajes de programación basados en texto, como Python.

Esto plantea dudas. Por ejemplo, la programación con Scratch es todo un mundo. Entonces, ¿hasta cuándo le enseñamos Scratch al alumno? ¿Cuándo empezamos con Python (o el lenguaje de programación que sea)? ¿Y si empezamos directamente con Python?

Dicho de otra forma: ¿acaba suponiendo Scratch un lastre para aprender programación “de verdad”?

¿Por qué enseñamos programación a los niños?

Para saber si la programación visual acabará siendo un lastre, primero tendremos que saber para qué puede ser un lastre. ¿Cuál es el objetivo de enseñar programación para niños?

  • Algunos niños serán programadores. Es decir, será su profesión.
  • Algunos niños tendrán trabajos que requerirán algo de programación, como apoyo de otras habilidades. Por ejemplo, una profesora que entre otras materias, imparte programación. O un biólogo que programa una simulación de aquello que está estudiando.
  • Algunos niños programarán y controlarán la tecnología como hobby. Robots, videojuegos, páginas web…
  • Algunos niños se beneficiarán de la programación en el sentido de que entienden el mundo tecnológico en el que viven, aunque no se dediquen a ello.

Vemos que los objetivos (a largo plazo) son muy distintos. Y aquí estamos hablando del punto de partida.

Por tanto, el objetivo es centrarse en lo que el niño necesita ahora. ¿Se tiente cómodo con lenguajes de programación textual? ¿Tiene conocimientos previos? ¿Se aburre si no ve el resultado inmediato?

programacion scratch

Por todo ello, hemos preparado este artículo, con los pros y contras de ambos tipos de lenguajes de programación:

Ventajas de Los Lenguajes de Programación Visual con Respecto a Los Lenguajes Basados en Texto

  • La programación visual presenta menos “barreras” para que el niño consiga lo que quiere hacer. Es más fácil de leer, entender, aprender y recordar.
  • Es más fácil ver inmediatamente los resultados de lo que se está haciendo, a medida que se hace.
  • No es necesario memorizar comandos ni sintaxis. Están a mano para añadir, ordenar y colocar.
  • La programación visual por bloques combinada con una pantalla táctil es ideal para conseguir la interacción de los niños. Están literalmente tocando el código del programa. Ya lo comentábamos al hablar de Swift Playgrounds.
  • La programación por bloques evita los errores de sintaxis, porque apenas hay que escribir (o nada).
  • El programador puede centrarse exclusivamente en la lógica del programa (y no en la sintaxis). Es decir, puedes centrarte en “quiero hacer esto” y no en “quiero hacer esto y además tengo que respetar unas pautas arbitrarias de este lenguaje de programación”.
  • La programación Scratch muestra la conexión de los elementos del programa. En cambio los lenguajes basados en texto son una parrafada de código, una línea tras otra. Un programa de miles de líneas de código puede referenciar en la línea 5000 a algo que se ha programado en la línea 300. El programador tiene que hacer un esfuerzo en claridad.
  • La programación Scratch es mucho más potente de lo que en un principio se pueda pensar. No es “solo un lenguaje para niños”, aunque esté orientado a ellos.

Ventajas de Los Lenguajes de Programación Basados en Texto con respecto a La Programación Scratch

  • De cara al futuro, lenguajes como Python o JavaScript son 100% profesionales (sin ningún “pero”.)
  • No solo de cara a usar en el futuro Python, por ejemplo, sino cualquier otro lenguaje de programación. Tener un contacto directo les hará entender la programación a un nivel mucho más profunto (y por tanto, más potente).
  • Algunos lenguajes (como Python) son mucho más sencillos (para niños y adultos) que la mayoría de lenguajes de programación.
  • A algunos niños, le gusta directamente la idea de aprender a programar con un lenguaje “profesional” por su versatilidad. Con Scratch o Alice pueden crear un juego en ese entorno, pero con C++ pueden crear cualquier juego para cualquier plataforma.

programacion juego c++

Conclusión

Aprender de forma visual depende, al final, de la capacidad del niño y de lo que quiera hacer.

No veo ningún problema en que un niño muy pequeño se meta con un lenguaje con C++ si es capaz. Un intento delante de la pantalla y ya se va a ver si le motiva el bloque de texto.

De la misma forma, un chaval de 15 años puede encontrar en Scratch un acercamiento a la programación si nunca lo ha tenido. Es decir:

  • Realmente no hay problema en empezar por un lenguaje de programación tipo Scratch o con uno textual.
  • Lo importante es que le motive y le permita hacer lo que quiere hacer (¡seguramente algo divertido!)
  • Los adultos también usan lenguajes gráficos (aunque no sea tan común).

Así que pon a tu hijo delante del ordenador y él mismo decidirá qué le motiva más. Aprenderá la lógica de la programación y a partir de ahí todo vendrá rodado.