On 05/12/2021 18:37, David Mertz, Ph.D. wrote:
On Sun, Dec 5, 2021, 12:33 PM Chris Angelico
And quite frankly, the tone of this list is sounding like "shut
up, go away, don't do anything, because there are other proposals
that nobody can be bothered writing up, but if they existed,
they'd be way better than what you're doing". Not exactly
encouraging, since nobody is willing to do the work of writing up
proposals, but is plenty willing to criticize.
I'll write up my proposal:
"Keep the status quo"
All done.
I admit I may be a overly vociferous in my opposition to this
particular change. But I also think your tone has been rather
consistently pugnacious, and a bit combative, in dismissing objections
or disagreements.
I know you genuinely wish to *improve Python*, and believe this PEP
*would* do so. But I think you've become attached to your idea in a
way that becomes non-constructive and unlikely to garner support.
For example, your careful exclusion of alternative ideas from the PEP
feels less than forthcoming. It almost feels like you are trying to
hide the alternatives from the SC. Obviously, many of them read this
list, and all of them will think of basically the same ideas others
have suggested on their own anyway.
I am sure Chris A can answer for himself, but IMO the above is, frankly,
insulting. It almost feels like you have run out of arguments and are
resorting to a personal attack.
I first discussed the idea of a "generalized deferred object/type" on
this list at least two years ago, probably more than three (I haven't
looked through archives lately to be sure the dates). The idea got
some vague interest, but I was too lazy, or too busy, or whatever, to
write an actual PEP or implementation.
It's fine to criticize my inaction in advancing the more general idea.
But the result of my failing isn't "therefore PEP 671 should be
adopted" as you keep claiming. It's just that I haven't done the work
to flesh out the encompassing idea that would cover late-binding as a
minor aspect.
Nobody has attempted (or at least completed) a PEP, never mind an
implementation, of a "generalized deferred object/type", in the last N
years or decades. And no reason to suppose that anyone will in the next
N years or decades. (I am sure it is very difficult.) And I think it
is fair to say that opinion is mixed on the benefits of such a
proposal. I think it is also fair to say that such a proposal need not
be incompatible with PEP 671.
Meanwhile we have a completed PEP and implementation (though obviously
changes might still be made) that "*would*" "*improve Python*".
As an analogy, PEP 275 was written in 2001 and rejected/neglected. PEP
3103 was rejected in 2006. The very simple case switch on literals was
thought not to be broad enough to change Python syntax, despite being
a construct in numerous other programming languages.
Then in 2020, PEP 622 was written, widely discussed and refined, and
adopted. PEP 622 does EVERYTHING that PEP 275 would have, 19 years
earlier, and even with pretty much the same syntax. But it also does
MUCH more as well, and hence was thought to be worth a syntax change.
That is a fair point which, I admit, I struggle somewhat to refute. Let
me say:
It would carry more weight if we had a time-line, even a vague one,
for implementing a "generalized deferred object/type". Nobody seems to
be able and prepared to do the work. Without that, Python could wait
indefinitely for this (PEP 671's) improvement.
In my very personal, subjective opinion, PEP 622 feels more like a
luxury. Anything that can be done with it could be done with
pre-existing syntax. Whereas late-bound defaults feels more like a ...
hm, "necessity" is obviously the wrong word, I think I mean "basic
feature". (And AFAIU can not really be implemented with existing syntax
- well, Turing-complete and all that, but I hope you know what I mean.)
As witness, 12 of the 16 languages that Steven d'Aprano surveyed provide
it. YMMV.
Best wishes
Rob Cliffe
PEP 671 is very much the same. It does something worthwhile. But it
does vastly less than needed to warrant new syntax and semantics. I
hope it takes less than 19 years, but a generalized deferred construct
is worth waiting for.
_______________________________________________
Python-ideas mailing list --python-ideas@python.org
To unsubscribe send an email topython-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived
athttps://mail.python.org/archives/list/python-ideas@python.org/message/JPCEPJAZ3452ZRNSZLYCAJU4EVAIKJEX/
Code of Conduct:http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/CASLAW7GACXDHDNBE62CF5ZUKRZSVA6F/
Code of Conduct: http://python.org/psf/codeofconduct/