The cost of translating Mercurial to Python 3 may result in a trail of unforeseen errors

Maintainer of the version control system Mercurial summarized the results of the work on translating the project from Python 2 to Python 3. Although the first attempts to port were made back in 2008, and the adaptation for Python 3 began in a fast-tracked mode in 2015, the full capability to use Python 3 was only realized in the latest Mercurial 5.2 branch.

The forecasts about the stability of the port for Python 3 are discouraging. In particular, it is expected that for several years random bugs will arise in the code, as tests do not cover 100% of the codebase, and many problems remain unnoticed during static analysis, emerging only at runtime. Moreover, many third-party plugins and extensions remain unported to Python 3.
Since the decision was made during the porting process to gradually adapt the code to Python 3 while maintaining support for Python 2, the code has accumulated numerous hacks to bridge Python 2 and 3, which will need to be cleaned up after support for Python 2 is discontinued.

Commenting on the situation with Python 3, the maintainer of Mercurial believes that the decision to push a breaking compatibility with Python 3 and impose it as a newer, more correct language, in the absence of significant breakthroughs for developers, was a major mistake that caused significant harm to the community and serves as an example of how not to proceed with large projects. Instead of gradually increasing functionality and allowing for incremental adaptation of applications, the release of Python 3 forced developers to rewrite code and expend resources on maintaining separate branches for Python 2 and Python 3. Only seven years after the release of Python 3.0, features were introduced in Python 3.5 that allowed smoothing the transition process and enabling a single codebase to work with both Python 2 and Python 3.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster