Historia de Python para niños
Python es un lenguaje de programación muy popular y versátil. Se usa para crear todo tipo de programas, desde pequeños "scripts" (instrucciones sencillas para la computadora) hasta grandes sistemas que funcionan sin parar, como los que usan las páginas web más grandes. También se utiliza para hacer programas con gráficos, manejar bases de datos, crear sitios web y probar aplicaciones. Es tan útil que lo usan científicos para las supercomputadoras más rápidas del mundo y también niños que están empezando a aprender a programar.
La historia del lenguaje de programación Python comenzó a finales de los años 80 y principios de los 90. Su creador, Guido van Rossum, empezó el proyecto en diciembre de 1989 como un pasatiempo. Él trabajaba en un centro de investigación en Holanda y quería continuar con las ideas de un lenguaje anterior llamado ABC, que buscaba ser fácil de usar y aprender. Guido van Rossum es el principal autor de Python y sigue guiando su desarrollo. En la comunidad de Python, lo conocen como el "Benevolente Dictador Vitalicio" (BDFL). El nombre "Python" viene de la afición de Van Rossum por el grupo de comedia Monty Python.
Python fue creado originalmente para un sistema operativo llamado Amoeba.
Contenido
¿De Dónde Vienen las Ideas de Python?
Python tomó muchas de sus ideas principales de otros lenguajes de programación. El lenguaje ABC fue una gran inspiración para la forma en que se escribe el código en Python y su filosofía.
Por ejemplo, mira cómo se escriben algunas instrucciones en ABC y en Python para encontrar todas las palabras únicas en un texto:
| En ABC | En Python |
|---|---|
HOW TO RETURN words document:
PUT {} IN collection
FOR line IN document:
FOR word IN split line:
IF word not.in collection:
INSERT word IN collection
RETURN collection |
def words(document):
collection = set()
for line in document:
for word in line.split():
if word not in collection:
collection.add(word)
return collection |
Como puedes ver, ambos códigos son muy parecidos. Usan la misma forma de organizar el código con espacios (sangría) y repiten acciones con "for". Sin embargo, también tienen diferencias, como el uso de paréntesis en Python.
Algunas ideas importantes que Python tomó de ABC son:
- Usar la sangría para agrupar el código.
- El carácter ":" para indicar el inicio de un bloque de código.
- Instrucciones sencillas como `if` (si), `while` (mientras) y `for` (para).
- Tipos de datos como tuplas, listas y diccionarios (aunque Python los mejoró mucho).
- No poner límites, por ejemplo, al tamaño de una lista.
Python también se inspiró en el lenguaje C para ser potente y en lenguajes como sh para escribir "scripts" rápidamente. Las palabras clave de Python (como `if`, `else`, `while`) son las mismas que en C. Una gran diferencia es que Python usa sangría para agrupar el código, mientras que C usa llaves.
Otras ideas vinieron de lenguajes como Icon (para los generadores e iteradores), Modula-3 (para manejar errores y organizar el código en módulos) y Perl (para trabajar con texto). Java también influyó en algunas partes de la biblioteca estándar de Python.
¿Cuándo Nació Cada Versión de Python?
Aquí te mostramos las fechas importantes de las versiones de Python:
- Diciembre de 1989: Guido van Rossum empieza a crear Python.
- 20 de febrero de 1991: Se publica la primera versión, Python 0.9.0.
- Enero de 1994: Se lanza Python 1.0.
- 16 de octubre de 2000: Llega Python 2.0.
- 3 de diciembre de 2008: Se lanza Python 3.0, una versión muy importante con cambios grandes.
Desde entonces, han salido muchas versiones de Python 2.x y 3.x, cada una con mejoras y nuevas características.
Primer Lanzamiento de Python
El 20 de febrero de 1991, Guido van Rossum compartió el código de Python 0.9.0. En esta primera versión, ya tenía características importantes como clases (para crear objetos), manejo de errores y tipos de datos como texto (`str`), listas (`list`) y diccionarios (`dict`). También incluía un sistema de módulos, que son como bloques de código que se pueden reutilizar.
En 1994, se creó un foro de discusión principal para Python llamado `comp.lang.python`. Esto ayudó a que la comunidad de usuarios creciera mucho.
Python 1.0: Un Gran Paso
Python alcanzó la versión 1.0 en enero de 1994. Una de las novedades más importantes fueron las herramientas de programación funcional como `lambda`, `reduce`, `filter` y `map`. Estas herramientas permiten escribir código de una manera más compacta y elegante.
Después de la versión 1.2, Guido van Rossum continuó trabajando en Python en otra organización en Estados Unidos. Allí, lanzó varias versiones nuevas.
En la versión 1.4, Python añadió más características, como la posibilidad de usar nombres para los argumentos de las funciones y soporte para números complejos.
Durante este tiempo, Van Rossum impulsó una iniciativa llamada "Programación de Computadoras para Todos" (CP4E). Su objetivo era hacer que la programación fuera más fácil de aprender para más personas, como una habilidad básica. Python era perfecto para esto por su forma de escribir código clara. Aunque el proyecto CP4E ya no está activo, Python sigue siendo un lenguaje fácil de aprender.
Cambios en la Licencia
Alrededor del año 2000, el equipo principal de desarrolladores de Python se unió a una nueva empresa. La licencia de Python cambió, lo que causó algunos problemas con otras licencias de software libre. Para solucionar esto, las organizaciones involucradas acordaron cambiar Python a una licencia de software libre que fuera compatible con la GNU GPL. Así, Python 1.6.1 se lanzó con la nueva licencia, haciendo que el lenguaje fuera más accesible para todos.
Python 2.0: Mejoras Importantes
Python 2.0, lanzado en octubre de 2000, incorporó una característica importante de otro lenguaje: la generación de listas. Esto permite crear listas de forma más sencilla y rápida. También introdujo un sistema para limpiar la memoria de la computadora, eliminando datos que ya no se usan.
Python 2.1, lanzado en 2001, cambió su licencia a la "Python Software Foundation License". Todo el código y la documentación nuevos pasaron a ser propiedad de la Python Software Foundation (PSF), una organización sin fines de lucro creada en 2001. Esta versión también mejoró cómo se organizan las variables en el código.
Una gran mejora en Python 2.2 fue que unificó los diferentes tipos de datos, haciendo que el modelo de programación orientada a objetos de Python fuera más consistente. También se añadieron los "generadores", que permiten crear secuencias de datos de forma eficiente.
Python 3.0: Una Nueva Era
Python 3.0 (también conocido como "Python 3000" o "Py3K") fue diseñado para corregir algunos problemas fundamentales en el diseño del lenguaje. Los cambios eran tan grandes que el código de Python 2.x no siempre funcionaría en Python 3.0 sin modificaciones. La idea principal de Python 3 fue "reducir la duplicación de características eliminando formas antiguas de hacer las cosas". Esto significa que si había varias maneras de hacer lo mismo, se eligió la mejor y se eliminaron las demás.
La Filosofía Detrás de Python 3
Python 3.0 se desarrolló con la misma filosofía de las versiones anteriores: ser claro y fácil de entender. Sin embargo, como Python había acumulado muchas formas de hacer la misma tarea, Python 3.0 se enfocó en simplificar y eliminar lo que ya no era necesario. La idea es que "debe haber una —y preferiblemente solo una— forma obvia de hacerlo".
A pesar de esto, Python 3.0 sigue siendo un lenguaje que permite diferentes estilos de programación, como la programación orientada a objetos o la programación funcional.
Fechas y Compatibilidad
Python 3.0 se lanzó el 3 de diciembre de 2008. Las versiones de Python 2.x y 3.x convivieron por un tiempo. Python 2.6 y 2.7 se lanzaron para ayudar a los programadores a prepararse para los cambios de Python 3.0, incluyendo advertencias sobre características que serían eliminadas. Python 2.7 fue la última versión de la serie 2.x.
Python 3.0 rompió la compatibilidad con versiones anteriores. Esto significa que el código escrito para Python 2.x no siempre funciona directamente en Python 3.0. Algunos cambios importantes fueron que `print` se convirtió en una función (antes era una instrucción) y que todo el texto se maneja con Unicode (un sistema para representar caracteres de todos los idiomas).
Para ayudar a los programadores a actualizar su código, se creó una herramienta llamada "2to3". Esta herramienta puede hacer la mayor parte del trabajo de "traducir" el código de Python 2.x a Python 3.x, y señala las partes que necesitan atención manual.
Novedades de Python 3.0
Algunos de los cambios más importantes en Python 3.0 fueron:
- Convertir `print` en una función, lo que la hace más flexible.
- Mover algunas funciones como `reduce` a un módulo especial.
- Añadir soporte para "anotaciones" opcionales en las funciones, que pueden usarse para dar pistas sobre el tipo de datos.
- Unificar los tipos de texto (`str`/`unicode`) y añadir un nuevo tipo `bytes` para manejar datos binarios.
- Eliminar características antiguas para simplificar el lenguaje.
Las versiones posteriores de Python 3.x han seguido añadiendo nuevas características y mejoras al lenguaje.