2018-07-18 18:11 GMT+02:00 Stefan Krah <firstname.lastname@example.org>:
> Perhaps we could have one again, say for 12 months so we can figure things
> out. Other Python implementations may welcome the moratorium so they can
> catch up.
Python 3.8 has a new syntax for assignment expressions (PEP 572). A
moratorium of 12 months in practice means no other syntax changes for
Python 3.8. I strongly prefer to introduce syntax changes early in the
development cycle, rather than late, to give time to third party
modules to be updated (ex: linters like flake8 or pylint).
I am unable to decide if a moratorium is a good idea. For example, I
was (strongly) against f-string at the beginning, and wrote that it
was possible to write the same thing without f-string. You can say the
same for PEP 572 which is "more or less" pure syntax sugar. But Python
3.6 also got a simple change to allow underscore in numbers for
readability (PEP 515) and I now really love that feature.
On the side, I would like to slow down syntax changes. On the other
side, I started to really love latest syntax changes...
What about other syntax changes like async and await which became real
keywords? IMHO it's also a major enhancement for asyncio, even if they
were more or less already keywords :-)
When I look back at syntax changes since Python 3.4, it's really hard
for me to say that I prefer to stay at Python 3.4 (syntax) forever and
never use Python 3.5, 3.6 and 3.7 new syntaxes... When I can use them,
I started to strongly prefer f-string over str % args (which now kind
of look as "legacy" compared to f-string) or its verbose brother
On of the reason which motivated Facebook and Instagram to migrate
from Python 2.7 directly to 3.5 was to get the new async and await
keywords. So new syntaxes can be the new "killer feature" of a
specific Python release, at least for some use cases.
python-committers mailing list
Code of Conduct: https://www.python.org/psf/codeofconduct/