¿Qué es
Python?
Si en alguna ocasión has escrito un guion para intérprete
de órdenes (o shell script) de Unix largo, puede que conozcas esta
sensación: Te encantaría añadir una característica
más, pero ya es tan lento, tan grande, tan complicado...O la característica
involucra una llamada al sistema u otra función accesible sólo
desde C. El problema en sí no suele ser tan complejo como para
transformar el guion en un programa en C. Igual el programa requiere cadenas
de longitud variable u otros tipos de datos (como listas ordenadas de
nombres de fichero) fáciles en sh, pero tediosas en C. O quizá
no tiene tanta soltura con C.
Otra situación: Quizá tengas que trabajar con bibliotecas
C diversas y el ciclo normal C escribir/compilar/probar/recompilar es
demasiado lento. Necesitas desarrollar software con más velocidad.
Posiblemente has escrito un programa al que vendría bien un lenguaje
de extensión y no quieres diseñar un lenguaje, escribir
y depurar el intérprete y adosarlo a la aplicación.
En tales casos, Python puede ser el lenguaje que necesitas. Python
es simple, pero es un lenguaje de programación real. Ofrece más
apoyo e infraestructura para programas grandes que el intérprete
de órdenes. Por otra parte, también ofrece mucha más
comprobación de errores que C y, al ser un lenguaje de muy alto
nivel, tiene incluidos tipos de datos de alto nivel, como matrices flexibles
y diccionarios, que llevarían días de programación
en C. Dados sus tipos de datos más generales, se puede aplicar a
un rango de problemas más amplio que Awk o incluso Perl, pero muchas
cosas son, al menos, igual de fáciles en Python que en esos lenguajes.
Python te permite dividir su programa en módulos reutilizables
desde otros programas Python. Viene con una gran colección de módulos
estándar que puedes utilizar como base de tus programas (o como
ejemplos para empezar a aprender Python). También hay módulos
incluidos que proporcionan E/S de ficheros, llamadas al sistema, sockets
y hasta interfaces a IGU (interfaz gráfica con el usuario) como
Tk.
Python es un lenguaje interpretado, lo que ahorra un tiempo considerable
en el desarrollo del programa, pues no es necesario compilar ni enlazar.
El intérprete se puede utilizar de modo interactivo, lo que facilita
experimentar con características del lenguaje, escribir programas
desechables o probar funciones durante el desarrollo del programa de la
base hacia arriba. También es una calculadora muy útil.
Python permite escribir programas muy compactos y legibles. Los programas
escritos en Python son típicamente mucho más cortos que
sus equivalentes en C, por varios motivos:
* Los tipos de datos de alto nivel permiten expresar
operaciones complejas en una sola sentencia.
* El agrupamiento de sentencias se realiza mediante
sangrado (indentación) en lugar de begin/end o llaves.
* No es necesario declarar los argumentos ni las variables.
Python es ampliable: si ya sabes programar en C, es fácil
añadir una nueva función o módulo al intérprete,
para realizar operaciones críticas a la máxima velocidad
o para enlazar programas en Python con bibliotecas que sólo están
disponibles en forma binaria (como bibliotecas de gráficos específicas
del fabricante). Una vez enganchado, puedes enlazar el intérprete
Python a una aplicación escrita en C y utilizarlo como lenguaje
de macros para dicha aplicación.
A propósito, el nombre del lenguaje viene del espectáculo
de la BBC ``Monty Python's Flying Circus'' (el circo ambulante de Monty
Python) y no tiene nada que ver con desagradables reptiles. Hacer referencias
a sketches de Monty Python no sólo se permite: ¡es recomendable!