what makes a good enhancement?
not.this at seebelow.org
Tue Sep 4 20:08:27 CEST 2001
In article <j4itezmdbt.fsf at informatik.hu-berlin.de>, Martin says...
>Grant Griffin <not.this at seebelow.org> writes:
>>After submitting a PEP recently (PEP 265), I think I might have gained at least
>>a little insight into what makes a good Python enhancement. (By "enhancement",
>> I mean a change or addition to Python's features, not a bug-fix.) What I've
>> learned (or at least what I _think_ I've learned) doesn't seem to be written
>>down anywhere, so as a "service" to the community, I thought I'd try to codify
>> it here. Please feel free to agree/disagree/modify (not that I can stop you
>Note that much of this is or ought to be covered in PEP 5. So if you
>find any significant aspects missing in PEP 5, I recommend to contact
>the author of this PEP (Paul Prescod), and/or put a patch to this PEP
I guess I disagree. Although the title of PEP 5--"Guidelines for Language
Evolution"--sounds to be what I'm talking about, its scope seems to be:
"These guidelines apply to future versions of Python that introduce
In fact, PEP 5 is entirely about backwards-incompatibility. However,
backwards-(in)compatiblilty is only one dimension of what makes an enhancement
welcome: most of the rest of it has to do with the benefit of the enhancement
relative to the resulting feature/code/doc/test bloat. In other words, even
fully backwards-compatible enhancements often are not welcome.
But I do like the idea of codifying "Guidelines for Language Evolution" (which
is actually a nice, snappy name for what I was feably trying to do with this
thread), so if anybody wants to broaden the scope of PEP 5 to include the idea
of what sort of enhancements will/won't be welcome, that would be a very good
In fact, if there were only a single PEP, that kindda stuff is what I'd most
like it to explain.
Grant R. Griffin g2 at dspguru.com
Publisher of dspGuru http://www.dspguru.com
Iowegian International Corporation http://www.iowegian.com
More information about the Python-list