El costo de la transición de Mercurial a Python 3 puede ser una serie de errores imprevistos

Mantenedor del sistema de control de versiones Mercurial ha presentado un resumen del trabajo de traducción del proyecto de Python 2 a Python 3. A pesar de que los primeros intentos de portación se realizaron ya en 2008 y que la adaptación para trabajar con Python 3 comenzó en modo acelerado en 2015, la plena capacidad de uso de Python 3 solo se implementó en la última versión de Mercurial 5.2.

Las perspectivas sobre la estabilidad del puerto para Python 3 son poco halagüeñas. En particular, se prevé que durante varios años aparecerán errores aleatorios en el código, ya que las pruebas no cubren el 100% de la base de código, y muchos problemas no son evidentes en el análisis estático y solo se manifiestan durante la ejecución. Además, muchos complementos y extensiones de terceros siguen sin traducirse a Python 3.
Dado que durante la portación se decidió adaptar gradualmente el código a Python 3, manteniendo la compatibilidad con Python 2, el código ha acumulado numerosos hacks para combinar Python 2 y 3, que deberán eliminarse una vez que se suspenda el soporte para Python 2.

Comentando sobre la situación con Python 3, el mantenedor de Mercurial considera que la decisión de avanzar con un Python 3 incompatible y de imponerlo como un nuevo lenguaje más correcto, en ausencia de mejoras innovadoras relevantes para los desarrolladores, fue un gran error que causó un daño significativo a la comunidad y es un ejemplo de lo que no debe hacer un gran proyecto. En lugar de un aumento progresivo de la funcionalidad y de permitir una adaptación incremental de las aplicaciones, con el lanzamiento de Python 3 se obligó a los desarrolladores a reescribir el código y gastar recursos en mantener ramas por separado para Python 2 y Python 3. Solo siete años después del lanzamiento de Python 3.0 se implementaron en Python 3.5 las capacidades que permitieron suavizar el proceso de transición y garantizar el funcionamiento de una única base de código con Python 2 y Python 3.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster