Python 2.7 Будет Поддерживаться До 2020 Года


Дата окончания срока службы Python 2.7 была продлена на 5 лет до 2020 года, чтобы разместить пользователей, которые еще не могут перейти на Python 3. Хотя некоторые питонисты испытывают облегчение от этой новости, другие приходят в ярость, потому что это может замедлить принятие Python 3.

В самом первом слайде своего основного доклада на PyCon 2014 Гвидо ван Россум, создатель и главный автор Python, очень ясно дал понять, что Python 2.8 не будет и что, где это возможно, пользователи и разработчики Python должны перейти на Python 3.4.

Но ветвь Python 2 пока не собирается отрываться. Для него запланировано еще три выпуска технического обслуживания: Python 2.7.7 в мае 2014 года; 2.7.8 в ноябре 2014 года и 2.7.9 в мае 2015 года, а также выпуски исправлений ошибок после этого, если это необходимо, до 2020 года.

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

Только с января 2013 года, то есть в начале пятого года Python 3, ежемесячные загрузки Python 3.3, наконец, обогнали загрузки Python 2.7, а в январе 2014 года был проведен опрос разработчиков Python (см. Был ли Python 3 ошибкой?) выяснилось, что почти 80% из почти 4800 респондентов в настоящее время пишут больше кода 2.x, чем 3.x, хотя 60% из них написали код 3.x. Так почему же пользователи цепляются за старую ветвь Python?

Первоначально основным фактором в использовании Python 2 было большое количество существующих библиотек для него. Со временем, и в случае Kivy, стимулируемого грантом от Фонда программного обеспечения Python, библиотеки либо добавили поддержку Python 3, либо были заброшены.

Поддержка библиотеки раньше активно контролировалась Дональдом Стаффтом. py3ksupport.appspot.com но он закрыл свой сайт в июне 2013 года, когда количество загрузок в индексаторе пакетов Python (PyPI) было отключено, указав, что необходимость в таком мониторинге значительно уменьшилась с тех пор, как он начал его два года назад. Он также представил окончательный снимок ситуации:

На момент закрытия (2013-06-03) 39 из 50 лучших проектов поддерживали Python 3 (78%). Из 11, которые этого не сделали, 4 не были активно разработаны (поэтому я предпочитаю думать об этом как о 39 из 46 лучших портированных проектов, или почти 85%).

Аналогичный мониторинг в настоящее время проводит Юваль Гринфилд, он же «убершмекель», на сайте, который он первоначально называл Стеной стыда Python 3, поскольку более половины перечисленных пакетов не поддерживали Python 3, но с тех пор изменили название, чтобы отразить тот факт, что зеленые пакеты, то есть те, которые поддерживают Python 3, теперь преобладают.

Источник: http://python3wos.appspot.com/

(нажмите, чтобы увеличить)

Сайт регулярно обновляется, и из двадцати лучших сайтов, ранжированных по количеству загрузок, только два являются красными. Это Boto, который предоставляет интерфейсы для веб-служб Amazon и находится в процессе добавления поддержки Python 3 и вставки, которая предоставляет инструменты для использования стека интерфейса шлюза веб-сервера. Ниже по списку MySQL-Python; gevent, сетевая библиотека Python на основе сопрограмм и Twisted, асинхронная сетевая платформа, выделяются красным цветом. В случае Twisted большая часть его функциональности включена в новый модуль поддержки асинхронного ввода-вывода в Python 3.4.

Еще одна красная запись-Natural Language Toolkit (NLTK), но этот пакет уже находится в NLTK 3.0a3 — то есть версия 3 альфа-версии порта Михаила Коборова, которая получила финансирование от Фонда программного обеспечения Python в 2012 году.

В то время в блоге PSF отмечалось:

Для многих NLTK является одним из основных оставшихся препятствий на пути внедрения Python 3. Порт NTLK не только станет благом для более широкого внедрения Python 3, но и обеспечит хорошую историю для других, на которую можно опереться при переносе больших кодовых баз.

Такие порты действительно требуют времени, поэтому продление срока службы Python 2.7 следует приветствовать и не следует рассматривать как препятствие для перехода на Python 3.4.


Добавить комментарий