Cuando yo era chico, los cursos básicos de computación, consistían en aprender a programar en BASIC. El intérprete BASIC venía incluido en la ROM de las máquinas de 8 bits como el ZX-Spectrum o la Comodore 64, y en aquellos días se animaba a las personas (y especialmente a los niños) para que aprendieran a programar, mediante cursos que se daban en los colegios, programas que venían en las revistas para aficionados, etc..
Después vino la era del MS-DOS, y si bien el intérprete de comandos del MS-DOS ofrecía un lenguaje de programación muy pobre, al menos cualquier usuario de PC, estaba familiarizado con conceptos tales como comando, archivo y directorio. No había un salto tan grande de aprender el uso básico del sistema, a aprender un lenguaje de programación. si bien, a diferencia de lo que sucedía en la máquinas de 8 bits, o en los sistemas Unix (con el lenguaje C), el sistema operativo ya no venía con un lenguaje de programación de propósito general incorporado.
Después vino la era del Windows, donde los archivos ya no se guardan en el disco rígido sino en vaya a saber qué misterioso lugar llamado escritorio lleno de iconos (cómo dice un amigo, “El software consiste en crear una ilusión”), y ahora muchas personas toman cursos de computación que son un engaño: en vez de enseñarles los conceptos básicos de programación, o del sistema operativo; sólo aprenden a utilizar algunos utilitarios o programas de oficina como MS-Word. Las personas creen que “aprenden computación”, pero este tipo de cursos sólo forma “analfabetos de la era digital”. En la era del sistema de las ventanitas, pareciera ser que la programación es un arte hermético, reservado sólo para unos pocos iniciados (y además pareciera ser algo útil sólo para muy pocos).
En una sociedad donde las tecnologías informáticas están adquiriendo un rol cada vez más preponderante, aprender a programar debería ser considerado socialmente tan importante como aprender una lengua extranjera (y creo que aprender un lenguaje de programación como C o Python, es decididamente más fácil y lleva menos tiempo que aprender por ej. a hablar bien inglés o alemán.)
Por otra parte, la programación es un arte muy formativo para el desarrollo de las habilidades intelectuales, como el pensamiento abstracto y el razonamiento matemático. Y auque muchas personas no lo sepan, programar puede ser muy divertido. Por ello, creo que debería enseñarse a programar en la escuela, incluso desde los últimos grados de la escuela primaria.
El software libre ha venido a poner un poco las cosas en su lugar, derribando las barreras que separan “usuarios” de “desarrolladores” (Eric Raymond explica esto brillantemente en su libro The Art of Unix Programming del que ya hemos hablado).¿Quieres programar en tu lenguaje favorito, sea este C, C++, Python, Perl, Ruby…? No tienes que pagar por este privilegio, es más: no es siquiera necesario que busques en la red el compilador o intérprete, pues es muy probable que el mismo ya venga incluido con el sistema operativo. ¿Quieres ver algunos ejemplos de los cuales aprender? Aquí tienes el código fuente de cada programa que forma el sistema, para ver y tocar. ¿Necesitas ayuda, tienes algo para aportar? Ven, y comparte tus conocimientos con la comunidad de software libre. Con el software libre, todos podemos programar.
Noviembre 9, 2007 a las 12:53 am
[...] *Al crear un pequeño script para ejecutar varias tareas en forma automática, el usuario de Unix/Linux se transforma sin pensarlo demasiado en un novel programador. Es lo que Eric Raymond llama “casual programming” en su libro TheArt of Unix Programming. Esto significa que el sistema Unix no tiene barreras de entrada para quienes desean aprender a programar. Escribir nuestro primer programa es tan fácil, como juntar un par de comandos, y escribirlos en un archivo en un determinado orden. Tomamos entonces conciencia de que la programación no es, como algunas personas creen, un arte hermético sólo para iniciados; sino que todos podemos programar. [...]