On Sun, Feb 07, 2021 at 09:58:03AM +0300, Paul Sokolovsky wrote:

> > A feature doesn't need to be a `__future__` import for you to just
> > not use it.
> 
> Right, and the talk is about the opposite - early adopters of
> PEP634-style pattern matching should mark the modules in which they
> *use* PEP-634-style pattern matching, so it will be easy in the future
> to spot such modules, if we get updated pattern matching style.

Because `grep "from __future__ import match"` is easier than 
`grep "match:"` ?


> All features added via __future__ were new, and thus experimental.

They were new, they were not experimental.


> For
> example, they contained long trail of bugs and issues, which were
> haunting their users for a long time, but at least the users knew what
> to expect, seeing the __future__ import.

Paul, that is bullshit. I use that in the technical sense:

http://www2.csudh.edu/ccauthen/576f12/frankfurt__harry_-_on_bullshit.pdf

Please just stop.

There was no "long trial of bugs and issues" involving (e.g.) unicode 
literals, true division, nested scopes, print as a function etc; there 
may have been a few enhancements for the with statement, e.g. the long 
running desire to be able to parenthesise context managers.

In the context of the Python community, "experimental" has a specific 
meaning: features which are intentionally documented as having an 
unstable API which may be subject to change. But I'm pretty sure you 
know that.

It absolutely does not refer to the addition of a new stable feature, or 
the normal process of discovering impementation bugs, enhancement 
requests, or even the occasional unforeseen problem which may need 
resolving. But I'm pretty sure you know that too.

I don't know what users you have in mind if you think that every new 
feature needs to go through a redundant and pointless future import. 
Users who get paid by the line, and adding that one extra line of code 
earns them an extra dollar? Users who love unnecessary boilerplate at 
the top of every file? Users who don't interact with beginners who don't 
understand why they can't use the new feature?

Users who want to impose an extra burden on the entire community, 
starting with the core devs who have to implement the unnecessary future 
import, and going on all the way down to every single coder who says to 
themselves "Oh, I forgot the future import!" when their code fails.

Future imports were designed carefully and thoughtfully as a mechanism 
to gradually introduce **backwards incompatible** syntactic changes. 
They are not there just to add friction to every single new syntactic 
feature.



-- 
Steve
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/AGXHWKSHCOH5ZCSIWYU4KFKKZVS4CIBV/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to