Python es un lenguaje de programación, lanzado por primera vez en el año 1990 , habitualmente comparado con TCL, Perl, Scheme, Java y Ruby. Actualmente, Python se desarrolla como un proyecto de código abierto, administrado por la Python Software Foundation. La última versión estable del lenguaje es actualmente (Septiembre de 2006) la 2.5 .
Guido van Rossum, más conocido como Guido, creó Python, un lenguaje de programación de scripting, la "oposición leal" a Perl, lenguaje con el cual mantiene una rivalidad amistosa. Los usuarios de Python consideran a éste mucho más limpio y elegante para programar.
Python permite dividir el programa en módulos reutilizables desde otros programas Python. Viene con una gran colección de módulos estándar que se pueden utilizar como base de los 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 GUI (interfaz gráfica con el usuario) como Tk, GTK, Qt entre otros...
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. También es una calculadora muy útil.
El nombre del lenguaje proviene de la afición de su creador original, Guido van Rossum, por los humoristas británicos Monty Python. El principal objetivo que persigue este lenguaje es la facilidad, tanto de lectura, como de diseño.
Historia
Python fue creado a finales de los 1980s por Guido van Rossum en CWI en los Países Bajos como un sucesor del lenguaje de programación ABC, capaz de manejar excepciones e interactuar con Amoeba operating system.
Van Rossum es el principal autor de Python, y su continuo rol central en decidir la dirección de Python es reconocida, refiriéndose a él como Benevolente Dictador de por vida o Benevolent Dictator for Life (BDFL).
En 1991, van Rossum publicó el código (versión 0.9.0) en alt.sources. En esta etapa del desarrollo ya estaban presente clases con herencia, manejo de excepciones, funciones, y los tipos medulares: list, dict, str y así sucesivamente. Además en este lanzamiento inicial estaba presente un module system adoptado de m Modula-3; van Rossum describle el módulo como "uno de las mayores unidades de programación de Python". El modelo de excepciones en Python es parecido al de Modula-3, con la adiciób de una cláusulaelse . En el año 1994, comp.lang.python, el foro de discusión principal de Python fue formado, marcando un hito en el crecimiento del grupo de usuarios de Python.
Python alcanzó la versión 1.0 en Enero de 1994. Un gran conjunto de características incluidas en este lanzamiento fueron las herramientas de la programación funcional: lambda, map, filter y reduce. Van Rossum estipuló que "Hace 12 años atrás, Python adquirió lambda, reduce(), filter() and map(), cortesía de (yo creo) un hacker de Lisp que las extrañaba y que envió parches." El actual contribuyente fue Amrit Prem; ninguna mención específica de cualquier herencia de Lisp fue mencionanda en las notas delanzamiento en ese tiempo.
La última versión liberada proveniente de CWI fue Python 1.2. En 1995, van Rossum continuó su trabajo en Python en la Corporation for National Research Initiatives (CNRI) en Reston, Virginia donde él lanzó varias versiones del software.
Durante la estadía de van Rossum's stay en CNRI, lanzó la iniciativa Computer Programming for Everybody (CP4E), con el fin de hacer la programación más accesible a más gente, con un nivel de 'alfabetización' básico en lenguajes de programación, similar a la alfabetización básica en inglés y habilidades matemáticas necesarias por muchos trabajadores. Python tuvo un rol central en esto: debido a su foco en uan sintaxis limpia, ya era idóneo, y las metas de CP4E pesentaban similitudes con su predecesor, ABC. El proyecto fue patrocinado por DARPA. Al año 2007, el proyecto CP4E está inactivo, y mientras Python intente ser fácil de aprender y no muy arcano en su sintaxis y semántica, alcanzando a los no-programadores, no es una preocupación activa.
En 2000, el equipo de desarroladores principal de Python se cambió a BeOpen.com para formar el equipo BeOpen PythonLabs. CNRI pidió que la versión 1.6 fuera hecha pública, summarising Python's development up to the point where the development team left CNRI; its and 2.0's release schedule had a significant amount of overlap. Python 2.0 fue el primer y único lanzamiento de BeOpen.com. Después que Python 2.0 fuera publicado por BeOpen.com, Guido van Rossum y los otros desarrolladores PythonLabs se unieron en Digital Creations.
Python 2.0 tomó una característica mayor del lenguaje de programación funcional Haskell: list comprehensions. La sintaxis de Python para estra construcción es muy similar a la de Haskell, salvo por la preferencia de los caractes de puntuación en Haskell, y la preferencia de Python por palabras claves alfabéticas. Python 2.0 introdujo además un sistema de recolección de basura capaz de recolectar ciclos de referencias.
Posterior a este doble lanzamiento, y después que van Rossum dejó CNRI para trabajar con desarrolladores de software comercial, quedó claro que la opción de usar Python son software disponible bajo GPL es muy deseable. La licencia usada en ese entonces, la Python License, incluía una cláusula estipulando que la licencia estaba gobernada por el estado de Virginia, que hizo que, bajo la óptica de los abogados de Free Software Foundation (FSF) , incompatible con GNU GPL. CNRI y FSF se relacionaron para cambiar la licencia de software libre de Python que la hicieran compatible con GPL. Ese año (2001), van Rossum fue premiado con FSF Award for the Advancement of Free Software.
Python 1.6.1 es esencialmente el mismo que Python 1.6, con unos pocos arreglos de bugs, y con una nueva licencia compatible con GPL.
Python 2.1 fue un trabajo derivado de Python 1.6.1, como también de Python 2.0. Su licencia fue renombrada: Python Software Foundation License. Todo el código, documentación y especificaciones añadidas, desde la fecha del lanzamiento de la versión alfa de Python 2.1, tiene como dueño a Python Software Foundation (PSF), una organización sin fines de lucro formada el año 2001, modelada en base a la Apache Software Foundation. Incluido en este lanzamiento (though off by default and not mandatory until several versions later) fue una implementación del scoping más parecida al static scoping (del cual Scheme is the originator) rules.
Una innovación mayor en Python 2.2 fue la unificación de los tipos en Python (tipos escritos en C), y clases (tipos escritos en Python) dentro de una jerarquía. This single unification made Python's object model purely and consistently object oriented. Also added were generators which were inspired by Icon.
Las adiciones a la biblioteca estándar de Python y las decisiones sintácticas fueron influenciadas fuertemente por Java en algunos casos: el package logging ,introducido en la versión 2.3, el parser SAX , introducido en 2.0, y la sintaxis del decorator pattern que usa el @, agregado en la versión 2.4
Al año 2007, la última versión de producción es la 2.5.
Modo interactivo
El intérprete de Python estándar incluye un modo interactivo, en el cual uno escribe las instrucciones en una especie de shell: las expresiones pueden ser ingresadas una por una, y el resultado de su evaluación se puede ver inmediatamente. Esto resulta ser útil tanto para las personas que se están familiarizando con el lenguaje como también para los programadores más avezados: porciones de código puede ser probado en el modo interactivo antes de integrarlo a un programa.
Existen otros programas, tales como IDLE e IPython, que añaden funcionalidades extra al modo interactivo, como el auto-completar código y colorear la sintaxis del lenguaje.
Elementos del lenguaje
Python fue diseñado para ser fácilmente leído. El lenguaje apunta a que visualmente no se vea tan recargado, se usan palabras en inglés donde otros lenguajes usan símbolos (por ejemplo, los operadores lógicos || y && en Python se escriben or y and, respectivamente).
Python, en vez de utilizar las llaves ({}) para demarcar bloques de código, utiliza la identación (que es obligatoria)
Tuplas y Listas
Para declarar una lista, basta usar los corchetes([ ]), mientras que para declarar una tupla se deben usar los paréntesis ().
Tanto las listas como las tuplas pueden contener elementos de diferentes tipos.
Para acceder a los elementos de una lista o tupla, se utiliza un índice entero. Se pueden utilizar índices negativos para acceder elementos a partir del final del arreglo.
Las listas se caracterizan por ser mutables, es decir, se puede cambiar su contenido, mientras que no es posible modificar el contenido de una tupla ya creada, puesto que es inmutable.
Biblioteca estándar
Python tiene una gran librería estándar, usada para una diversidad de tareas. Esto viene de la filosofía "baterías incluidas" ("batteries included") para módulos de Python. Los módulos de la biblioteca estándar pueden ser mejorados por módulos personalizados escritos tanto en C o en Python. Debido a la gran variedad de herramientas incluidas en la biblioteca estándar combinada con la habilidad de usar lenguajes de bajo nivel como C y C++, los cuales son capaces de interactuar con otras bibliotecas, Python es un lenguaje que combina su clara sintaxis con el inmenso poder de lenguajes menos elegantes.
|