<br><br><div class="gmail_quote"><div dir="ltr">On Thu, Jul 19, 2018, 01:24 Victor Stinner, <<a href="mailto:vstinner@redhat.com">vstinner@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
2018-07-18 18:11 GMT+02:00 Stefan Krah <<a href="mailto:stefan@bytereef.org" target="_blank">stefan@bytereef.org</a>>:<br>
> Perhaps we could have one again, say for 12 months so we can figure things<br>
> out. Other Python implementations may welcome the moratorium so they can<br>
> catch up.<br>
<br>
Python 3.8 has a new syntax for assignment expressions (PEP 572). A<br>
moratorium of 12 months in practice means no other syntax changes for<br>
Python 3.8. I strongly prefer to introduce syntax changes early in the<br>
development cycle, rather than late, to give time to third party<br>
modules to be updated (ex: linters like flake8 or pylint).<br>
<br>
I am unable to decide if a moratorium is a good idea. For example, I<br>
was (strongly) against f-string at the beginning, and wrote that it<br>
was possible to write the same thing without f-string. You can say the<br>
same for PEP 572 which is "more or less" pure syntax sugar. But Python<br>
3.6 also got a simple change to allow underscore in numbers for<br>
readability (PEP 515) and I now really love that feature.<br>
<br>
On the side, I would like to slow down syntax changes. On the other<br>
side, I started to really love latest syntax changes...<br>
<br>
What about other syntax changes like async and await which became real<br>
keywords? IMHO it's also a major enhancement for asyncio, even if they<br>
were more or less already keywords :-)<br>
<br>
When I look back at syntax changes since Python 3.4, it's really hard<br>
for me to say that I prefer to stay at Python 3.4 (syntax) forever and<br>
never use Python 3.5, 3.6 and 3.7 new syntaxes... When I can use them,<br>
I started to strongly prefer f-string over str % args (which now kind<br>
of look as "legacy" compared to f-string) or its verbose brother<br>
str.format(args).<br>
<br>
On of the reason which motivated Facebook and Instagram to migrate<br>
from Python 2.7 directly to 3.5 was to get the new async and await<br>
keywords. So new syntaxes can be the new "killer feature" of a<br>
specific Python release, at least for some use cases.<br></blockquote></div><div><br></div><div>Then we would have to solve our governance problem sooner rather than later. But i don't think every Python release has to make a huge splash.</div><div><br></div><div>-Brett</div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Victor<br>
_______________________________________________<br>
python-committers mailing list<br>
<a href="mailto:python-committers@python.org" target="_blank">python-committers@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-committers" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-committers</a><br>
Code of Conduct: <a href="https://www.python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">https://www.python.org/psf/codeofconduct/</a><br>
</blockquote></div>