Logo de Torre de Babel
Portada Libros Artículos Perfil Scholar

Python: El BASIC del nuevo milenio

Con la excepción de aquellos que tuvieron la oportunidad de cursar estudios de informática o ciencias de la computación, la mayoría de los jóvenes que apredieron a programar en la década que va de 1975 a 1985 (entre los que me cuento) lo hicieron de mano de un microordenador y, en consecuencia, del archiconocido y denostado lenguaje BASIC (Beginner's All-purpose Symbolic Instruction Code). A pesar de sus carencias, los intérpretes que se usaban por entonces ni siquiera contemplaban el paradigma de programación estructurada, BASIC fue durante esos años, y algunos más, el lenguaje de programación más popular entre los que se iniciaban en el uso de un ordenador.

Cabría preguntarse qué provocó que BASIC adquiriese aquella difusión y se convirtiese en el primer contacto de millones de programadores con el campo de la programación, a pesar de que muchos de ellos, con el tiempo, hayan preferido olvidarlo e, incluso, negar aquella experiencia. En mi opinión hay una respuesta clara: BASIC era el lenguaje más accesible a todos, ya que estaba incluido en la ROM de gran parte de los microordenadores (incluso el IBM PC incluía inicialmente en ROM dicho intérprete conjuntamente con una versión más avanzada en disco) o bien se incluía como parte del sistema operativo que facilitaba el fabricante, como el MBASIC de CP/M o el GW-BASIC de MS-DOS.

Otra virtud del BASIC de entonces era que no requería, por parte de los usuarios, ningún conocimiento previo sobre programación, algo prácticamente imprescindible para poder usar otros lenguajes. Sin saber nada, con un pequeño manual y algunos ejemplos se comenzaba a escribir y ejecutar programas en pocos minutos. El hecho de que BASIC fuese un intérprete (también existieron compiladores) era un factor determinante: no había que crear un archivo de código fuente, abrirlo con un editor, introducir el código, compilar y ejecutar, sino que bastaba con escribir las sentencias e interactivamente se obtenían las respuestas. Esa interactividad enganchaba al usuario que, tras algunas sesiones, aprendía a combinar múltiples sentencias (precediéndolas de un número de líneas) para crear su primer programa.

Transcurridas varias décadas de aquel contexto, ¿qué lenguaje podríamos elegir como el BASIC de la actualidad? ¿Qué lenguaje podría usar alguien que, sin conocimientos previos más allá de los de cualquier usuario de ordenador, quisiese iniciarse en el mundo de la programación? Pienso que tendría que ser un lenguaje multiplataforma, de manera que el sistema operativo (e incluso el dispositivo empleado) no fuese un obstáculo; que debería ser un intérprete o al menos tener la posibilidad de usarlo como tal, que debería otorgar libertad al usuario a la hora de usar el paradigma de programación que prefiera y, sobre todo, que fuese open source para evitar atarse a una empresa determinada.

Lenguajes de programación abiertos e interpretados hay multitud. Algunos de ellos, como es el caso de JavaScript o PHP, tienen asociadas funciones bastante específicas relacionadas con la Web (si bien pueden utilizarse fuera de esos campos). Otros, como es el caso de Ruby, en la práctica fuerzan al usuario a utilizar un paradigma concreto como el de orientación a objetos. De otras opciones, como Perl, Lisp o Tcl (y muchos otros que desconozco), hay aspectos como su sintaxis o la poca adecuación a problemas de propósito general que le hacen poco deseables.

Éste es un tema en el que llevo pensando algún tiempo, desde hace unos meses, y en mi opinión uno de los lenguajes mejor posicionados para ocupar la posición de aquel BASIC, sino el mejor, es Python. Algunas de las razones para ello:

  • Se trata de un lenguaje que está disponible para multitud de sistemas operativos, entre ellos Linux, MacOS X, Windows o Android, de hecho forma parte de muchas distribuciones de Linux actuales lo que equivale, salvando las distancias, a tenerlo disponible de inmediato como el BASIC en ROM de antaño.
  • Aparte de ser interpretado, como muchas otras de las opciones antes citadas, Python puede ser utilizado de forma interactiva gracias a una consola sencilla.
  • Python permite emplear distintos paradigmas de programación, incluyendo la programación estructurada y la orientación a objetos, lo cual permite cambiar a medida que se va aprendiendo.
  • La sintaxis del lenguaje es suficientemente sencilla y clara, ofrece un sistema de tipos dinámico y gestión automática de asignación/liberación memoria.
  • A diferencia de otros lenguajes, Python cuenta con una extensa biblioteca estándar que facilita su aplicación para distintos propósitos: tratamiento científico de datos, diseño de interfaces de usuario, manipulación del sistema de archivos, comunicación por red, etc. Esto abre las puertas a su utilización en todo tipo de proyectos, no siendo únicamente un lenguaje ideal para el aprendizaje.

El sitio oficial de Python es mantenido por la PSF Python Software Foundation, una fundación encargada de mantener el núcleo del lenguaje y hacerlo evolucionar. Desde él pueden obtenerse versiones compiladas de Python para distintos sistemas operativos, así como el código fuente. En los teléfonos con Android puede utilizarse Python gracias al proyecto android-scripting, un software que ofrece un editor integrado y el intérprete de Python.


Publicado el 20/9/2010

Histórico
Curso de shaders

Torre de Babel - Francisco Charte Ojeda - Desde 1997 en la Web