Python es
un lenguaje de programación de alto nivel, interpretado, interactivo y de propósito general. Puede ser que esta definición no sea del todo clara así que he aquí la descripción de cada uno de los términos.
De alto nivelSe dice que un lenguaje de programación es de alto nivel cuando su léxico y estructuras mucho más cercanas a los lenguajes humanos que al lenguaje que el ordenador es capaz de comprender. El primer lenguaje de alto nivel fue FORTRAN.
InterpretadoSignifica que es un lenguaje que no requiere proceso de compilación y por ello no produce archivos binarios o ejecutables. Los lenguajes de programación
convencionales se basan en un
programa que crea programas llamado compilador. Lee el código fuente, acopla todo lo necesario y crea un programa o archivo ejecutable. Los lenguajes interpretados se basan en un intérprete que lee el archivo de código y ejecuta las órdenes secuencialmente. La ejecución se lleva a cabo mediante la combinación del archivo de código o
script y el
intérprete.
InteractivoCuando un lenguaje interpretado es además interactivo significa que existe la posibilidad de manipular directamente la ejecución de los scripts en cualquier inestante de la misma. Esta condición suele ir ligada a la existencia de una consola para comunicarse con el intérprete tal como se utiliza una consola para comunicarse con el sistema operativo. En el caso de python consola e intérprete están tan ligados que se consideran la misma cosa.
De propósito generalCuando con un lenguaje de progrramación es lo suficientemente polivalente como para llevar a cabo cualquier tarea relacionada con un ordenador (hasta escribir un sistema operativo propio) se dice que es de propósito general. Un ejemplo de lenguaje que
no es de propósito general es FORTRAN, orientado a cálculo numérico.
¿Qué diferencia Python de otros lenguajes parecidos en lo anterior?
Python es un lenguaje altamente estructurado, con reglas estrictas de escritura; es orientado a objetos aunque soporta programación imperativa pura. Tiene arquitectura modular, es autodocumentado; es decir, la documentación es accesible a través del mismo programa, tiene una sintaxis clara, contiene pocas inconsistencias, está bajo un desarrollo activo...
Pero sin duda una de las más importantes es que el lenguaje es libre y gratuito. Esto le añade muchísimo valor ya que todo el código del intérprete así como el de las bibliotecas es público. Cualquiera puede colaborar en el proyecto si se siente capaz de hacerlo.
Es, con Ruby, un lenguaje relativamente nuevo cuyo aumento de popularidad le hace justicia. Su corta curva de aprendizaje, la documentación amena y clara y su sintaxis estricta y coherente lo convierten en un gran candidato para cualquier desarrollo incluso para aquellos que no lo dominen. Está desplazando en popularidad otros lenguajes de su mismo nicho como Perl y Tcl y se está consolidando como herramienta de RAD desplazando incluso a Java.
Python se ha utilizado con éxito en ámbitos muy diversos:
- Google, donde se ha utilizado desde el principio en su motor de búsqueda
- Scons, herramienta de desarrollo llamada a sustituir los Autotools.
- Portage, programa encargado de gestionar los paquetes de instalación de la distribución de Gentoo Linux.
- Zope, un set de librerías orientado a los servidores de aplicaciones.
- Civilization 4, su Inteligencia Artificial está programada en Python.
Si bien es difícil encontrar proyectos que utilicen Python como único lenguaje de programación en multitud de ellos juega un papel importante.