Historia de Python
Versiones de Python
Guido van Rossum ideó el lenguaje Python a finales de los 80 y comenzó a
implementarlo en diciembre de 1989. En febrero de 1991 publicó la primera
versión pública, la versión 0.9.0. La versión 1.0 se publicó en enero de 1994,
la versión 2.0 se publicó en octubre de 2000 y la versión 3.0 se publicó en
diciembre de 2008.
Hasta 2018, el desarrollo de Python estaba dirigido personalmente por Guido
van Rossum y bajo el paraguas de la fundación Python Software Foundation.
En julio de 2018 Guido van Rossum anunció que dejaría de dirigir el
desarrollo de Python. Desde 2019 el desarrollo de Python está dirigido por un
consejo de dirección de cinco miembros elegidos entre los desarrolladores de
Python y que se renueva anualmente.
En octubre de 2019 se decidió cambiar el ritmo de publicación de nuevas
versiones de Python de los anteriores 18 meses a 12 meses. Desde Python
3.8 (publicado en octubre de 2019) se publica un nueva versión de Python
cada mes de octubre.
Las versiones de Python se identifican por tres números X.Y.Z, en la que:
X corresponde a las grandes versiones de Python (1, 2 y 3),
incompatibles entre sí:
Los principales cambios introducidos en Python 2 fueron las cadenas
Unicode, las comprensiones de listas, las asignaciones aumentadas,
los nuevos métodos de cadenas y el recolector de basura para
referencias cíclicas.
Los principales cambios introducidos en Python 3 fueron la separación
entre cadenas Unicode y datos binarios, la función print(), cambios en
la sintaxis, tipos de datos, comparadores, etc.
Por el momento, no hay planes de crear una nueva versión Python 4,
incompatible con las anteriores.
Y corresponde a versiones importantes en las que se introducen
novedades en el lenguaje pero manteniendo la compatibilidad (salvo
excepciones).
Desde la versión 2.0 hasta 2019, las versiones X.Y se publicaron
aproximadamente cada año y medio y se mantenían durante cinco
años, excepto la versión 2.7, que se mantuvo durante diez años, hasta
el 1 de enero de 2020 (aunque se publicó una versión final en abril de
2020).
En octubre de 2019 se decidió cambiar el ritmo de publicación de
nuevas versiones de Python de los anteriores 18 meses a 12 meses,
manteniendo los 5 años de mantenimiento. Desde Python 3.8
(publicado en octubre de 2019) se publica un nueva versión de Python
cada mes de octubre.
Z corresponde a versiones menores que se publican durante el período
de mantenimiento, en las que sólo se corrigen errores durante el primer
año y fallos de seguridad en los cuatro restantes.
La publicación de las versiones .Z es más irregular, porque el
descubrimiento de fallos de seguridad puede provocar la necesidad de
publicación de una nueva versión en cualquier momento, pero hay un
calendario previsto de versiones .Z.
En principio, en el primer año después de la publicación de la versión
inicial X.Y.0, se publican versiones .Z cada dos meses, tanto en forma
de código fuente como de instaladores. Tras la publicación de la
siguiente versión X.(Y+1).0 se publica una versión X.Y.Z
proporcionando instaladores, pero las versiones .Z que se publican
hasta completar los cinco años de mantenimiento ya sólo se publican
en forma de código fuente. Además, normalmente se publica una última
versión X.Y.Z justo antes de que una versión X.Y deje de mantenerse.
Al margen de las versiones publicadas por la PSF, algunas empresas
comerciales ofrecen el mantenimiento de versiones antiguas una vez
acabado el mantenimiento oficial.
Es posible tener instalados en el ordenador varias versiones de Python pero,
salvo que sea necesario para la ejecución de programas o paquetes
incompatibles, se recomienda instalar siempre la última versión disponible.
La imagen siguiente muestra la fecha de publicación de las versiones
principales de Python, en cada una de las tres grandes versiones, Python 1,
Python 2 y Python 3. Las versiones indicadas con punto rojo se consideran
obsoletas, de las versiones indicadas con punto azul se siguen publicando
actualizaciones y las versiones indicadas con punto blanco corresponden a
versiones futuras con fechas de publicación previstas ya anunciadas.