[ON] Ценой перевода Mercurial на Python 3 может стать шлейф непредвиденных ошибок

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Ответить
Аватара пользователя
rssbot
Бот
Сообщения: 6002
ОС: gnu/linux

[ON] Ценой перевода Mercurial на Python 3 может стать шлейф непредвиденных ошибок

Сообщение rssbot »

Мэйнтейнер системы управления версиями Mercurial подвёл итог работы по переводу проекта с Python 2 на Python 3. Несмотря на то, что первые попытки портирования были предприняты ещё в 2008 году, а в форсированном режиме адаптация для работы с Python 3 началась в 2015 году, полноценная возможность использования Python 3 была реализована только в последней ветке Mercurial 5.2.

Прогнозы о стабильности порта для Python 3 даются неутешительные. В частности, предполагается, что на протяжении нескольких лет в коде будут всплывать случайные ошибки, так как тесты не охватывают 100% кодовой базы, а многие проблемы незаметны при статическом анализе и проявляются только во время выполнения. Кроме того, остаются непереведёнными на Python 3 многие сторонние дополнения и расширения. Так как при портировании было принято решение постепенно адаптировать код на Python 3, сохраняя поддержку Python 2, код оброс множеством хаков для совмещения Python 2 и 3, которые после прекращения поддержки Python 2 придётся вычищать.

Комментируя ситуацию с Python 3, мэйнтейнер Mercurial считает, что решение по продвижению ломающего совместимость Python 3 и навязывание его как нового более правильного языка, при отсутствии актуальных для разработчиков прорывных улучшений, было большой ошибкой, причинившей большой вред сообществу и являющейся примером того, как не нужно поступать крупным проектам. Вместо постепенного наращивания функциональности и предоставления возможности инкрементальной адаптации приложений, при выпуске Python 3 разработчиков вынуждали переписывать код и тратить ресурсы на поддержание отдельных веток для Python 2 и Python 3. Лишь через семь лет после выпуска Python 3.0 в Python 3.5 были реализованы возможности, позволявшие сгладить процесс перехода и обеспечить работу одной кодовой базы с Python 2 и Python 3.


Источник: https://www.opennet.ru/opennews/art.shtml?num=52184
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 15.01.2020 12:47, всего редактировалось 1 раз.
Причина: Updated upstream
Спасибо сказали:
Ответить