Новости мира Python: следующим релизом будет Python 8

Недавно в официальной почтовой рассылке Python-Dev было опубликовано обращение PSF к сообществу с анонсом довольно глобальных новостей: Python меняет подход к нумерации версий mail.python.org/pipermail/python-dev/2016-March/143603.html.

Ниже приводим перевод обращения на русский язык.


[Python-Dev] Следующим мажорным номером версии Python будет Python 8

Привет,

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

PSF рада анонсировать новый релиз Python — Python 8!

Почему 8? Просто чтобы было больше, чем Perl 6 и PHP 7, а также отсылка к PEP 8. Кстати, каждый минорный релиз теперь будет умножать версию на 2. Выпуская релиз Python 8 в 2016 году и делая релиз каждые два года, мы побъем Firefox 44 в 2022 году (Python 64) и Windows 2003 в 2032 году (Python 2048).

Мажорный релиз требует серьезных изменений, чтобы оправдать инкремент версии: новая киллер фича в том, что больше вы не сможете импортировать модуль который не написан в соответствии с PEP 8. Это будет гарантировать, что весь ваш код чист. Пример:

$ python8 -c 'import keyword'
Lib/keyword.py:16:1: E122 continuation line missing indentation or outdented
Lib/keyword.py:16:1: E265 block comment should start with '# '
Lib/keyword.py:50:1: E122 continuation line missing indentation or outdented
(...)
ImportError: no pep8, no glory

Хорошие новости: так как ни один модуль текущей стандартной библиотеки Python 3 не соответствует PEP 8, стандартная библиотека будет сведена к одному единственному модулю, который является новым в Python 8: pep8. Стандартная библиотека перемещена в Python Cheeseshop (PyPI), в ответ на старый и популярный запрос пользователей.

НЕ ПАНИКУЙТЕ! Вы все еще можете импортировать легаси код в Python 8, вы просто должны переименовать все ваши модули добавив суффикс “_noqa” к имени файла. Например, переименовать utils.py в utils_noqa.py. Побочный эффект заключается в том, что вы должны обновить все импорты. Например, заменить “import django” на “import django_noqa”. Исследование PSF показало, что это лучший вариант разделения сообщества Python, а также поможет убедиться что все пользователи будут вне себя от злости.

План таков: в течение 10 лет, по меньшей мере, 50% от 77000 пакетов на Python Cheeseshop будут обновляться, добавляя “_noqa” суффикс. После 2020 года, PSF начнет спонсировать троллей, которые будут раздражать пользователей Python 3 и заставить их мигрировать на Python 8.

Работа над Python 8 является в стадии разработки (это все еще альфа-версия), стандартная библиотека еще не была удалена. Будем надеяться, что любая попытка импортировать модуль стандартной библиотеки приведет к исключению.

Не стесняйтесь предлагать новые идеи, чтобы сделать Python 8 более несовместимым с Python 3!

Примечание: Изменение уже применено в ветке по умолчанию в репозитории Python:

https://hg.python.org/cpython/rev/9aedec2dbc01

Развлекайтесь,

Виктор


original post by Victor Stinner victor.stinner at gmail.com

Thu Mar 31 17:40:46 EDT 2016

Tags: fun, python