[Python-Dev] Maintenance burden of str.swapcase (original) (raw)
Michael Foord fuzzyman at voidspace.org.uk
Tue Sep 6 22:23:26 CEST 2011
- Previous message: [Python-Dev] Maintenance burden of str.swapcase
- Next message: [Python-Dev] Maintenance burden of str.swapcase
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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.
MIchael
Regards, Martin
-- http://www.voidspace.org.uk/
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 http://www.sqlite.org/different.html
- Previous message: [Python-Dev] Maintenance burden of str.swapcase
- Next message: [Python-Dev] Maintenance burden of str.swapcase
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]