[Python-Dev] Maintenance burden of str.swapcase

Michael Foord fuzzyman at voidspace.org.uk
Tue Sep 6 22:23:26 CEST 2011

On 6 Sep 2011, at 21:18, Martin v. Löwis wrote:
>>> Perhaps I missed something early on, but why are we proposing
>>> removing a function which (presumably) is stable and tested and
>>> works and is not broken? What maintenance is needed here?
>> The maintenance burden is on other implementations.
> It's not a maintenance burden (at least not in the sense in which
> I understand the word "maintenance" - as an ongoing effort). When
> they implement it once, the implementation can likely stay forever,
> unmodified.

Ok, burden rather than "maintenance" burden.

>> Even if there is
>> no maintenance burden for CPython having useless methods simply
>> because  it is less effort to leave them in place creates work for
>> new implementations wanting to be fully compatible.
> That's true.
> However, that alone is not enough reason to remove the feature, IMO.
> The effort that is saved is not only on the developers of CPython,
> but also on users of the feature. My claim is that for any little-used
> feature, removing it costs more time world-wide than re-implementing
> it in 10 alternative Python implementations (with the number 10 drawn
> out of blue air), because of the cost of changing the applications that
> actually do use the feature.

Which applications? I'm not sure the number of applications using str.swapcase gets even as high as ten.

> With the switch to Python 3, there would have been a chance to remove
> little-used features. IMO, the next such chance is with Python 4.
> It could be useful to start collecting little-used features that might
> be removed with Python 4 - which I don't expect until 2020.

We still have our standard deprecation policy that we can follow in Python 3. We don't have to wait until Python 4 to remove things. Changing semantics or syntax is harder because you can't really deprecate. Just removing methods is straightforward.


> Regards,
> Martin


May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing 

More information about the Python-Dev mailing list