<div dir="ltr">I bought it.  I will confess to being your first victim.  :)</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 31, 2016 at 4:40 PM, Victor Stinner <span dir="ltr"><<a href="mailto:victor.stinner@gmail.com" target="_blank">victor.stinner@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Python 3 becomes more and more popular and is close to a dangerous point<br>
where it can become popular that Python 2. The PSF decided that it's<br>
time to elaborate a new secret plan to ensure that Python users suffer<br>
again with a new major release breaking all their legacy code.<br>
<br>
The PSF is happy to announce that the new Python release will be<br>
Python 8!<br>
<br>
Why the version 8? It's just to be greater than Perl 6 and PHP 7, but<br>
it's also a mnemonic for PEP 8. By the way, each minor release will now<br>
multiply the version by 2. With Python 8 released in 2016 and one<br>
release every two years, we will beat Firefox 44 in 2022 (Python 64) and<br>
Windows 2003 in 2032 (Python 2048).<br>
<br>
A major release requires a major change to justify a version bump: the<br>
new killer feature is that it's no longer possible to import a module<br>
which does not respect the PEP 8. It ensures that all your code is pure.<br>
Example:<br>
<br>
    $ python8 -c 'import keyword'<br>
    Lib/keyword.py:16:1: E122 continuation line missing indentation or outdented<br>
    Lib/keyword.py:16:1: E265 block comment should start with '# '<br>
    Lib/keyword.py:50:1: E122 continuation line missing indentation or outdented<br>
    (...)<br>
    ImportError: no pep8, no glory<br>
<br>
Good news: since *no* module of the current standard library of Python 3<br>
respect the PEP 8, the standard library will be simplified to one<br>
unique module, which is new in Python 8: pep8. The standard library will<br>
move to the Python Cheeseshop (PyPI), to reply to an old and popular<br>
request.<br>
<br>
<br>
DON'T PANIC! You are still able to import your legacy code into<br>
Python 8, you just have to rename all your modules to add a "_noqa" suffix<br>
to the filename. For example, rename utils.py to utils_noqa.py. A side<br>
effect is that you have to update all imports. For example, replace<br>
"import django" with "import django_noqa". After a study of the PSF,<br>
it's a best option to split again the Python community and make sure<br>
that all users are angry.<br>
<br>
<br>
The plan is that in 10 years, at least 50% of the 77,000 packages on the<br>
Python cheeseshop will be updated to get the "_noqa" tag. After 2020,<br>
the PSF will start to sponsor trolls to harass users of the legacy<br>
Python 3 to force them to migrate to Python 8.<br>
<br>
<br>
Python 8 is a work-in-progress (it's still an alpha version), the<br>
standard library was not removed yet. Hopefully, trying to import any<br>
module of the standard library fails.<br>
<br>
Don't hesitate to propose more ideas to make Python 8 more incompatible<br>
with Python 3!<br>
<br>
Note: The change is already effective in the default branch of Python:<br>
<a href="https://hg.python.org/cpython/rev/9aedec2dbc01" rel="noreferrer" target="_blank">https://hg.python.org/cpython/rev/9aedec2dbc01</a><br>
<br>
Have fun,<br>
Victor<br>
_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/brian.cain%40gmail.com" rel="noreferrer" target="_blank">https://mail.python.org/mailman/options/python-dev/brian.cain%40gmail.com</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">-Brian</div>
</div>