Ценой перевода Mercurial на Python 3 может стать шлейф непредвиденных ошибок |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-01-14 23:26 Мэйнтейнер системы управления версиями 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. Источник: www.opennet.ru Комментарии: |
|