[Python-Dev] Re: Deprecation

holger krekel pyth@devel.trillke.net
Fri, 31 May 2002 00:34:21 +0200

Guido van Rossum wrote:
> > ok then. how would you translate (from PEP4)
> > 
> >  "The deprecation warning will be added to the module
> >   one year after Python 2.3 is released, and the
> >   module will be removed one year after that."
> > 
> > to an if-statement-check you want to implement *today*?
> I guess I don't see why the error message should contain an expiration
> date.  It's enough to know that the feature will expire -- you can
> find more info in the docs.

You may want to check that the python-version your program is running on 
might not have a certain feature or library any more. Just seeing an 
'ImportError' leaves the user puzzled if he e.g. might have an 
installation problem. 

> > Additionally, if the above was based on versions you
> > could implement the *deprecation process* today, no need
> > to remember at which date some PEP mentioned something
> > which has been forgotten for three years <wink> anyway. 
> Define deprecation process.

the citation above is a typical example for a 'deprecation process'.
OK, you are a mathematician. i try harder...

A deprecation process may be seen as an algorithm which determines
the life time (or die-time?) of features and modules. 

> I don't think it's a good idea to try to
> automate this.  I want a human to decide that a deprecated module is
> really ready for deletion.  This involves many other factors besides
> the originally promised deprecation date.

automation does not mean there is no human intervention possible. 
It would be horrible indeed if computers would take over python
development, no flaming wars, less and less more general modules ... :-)

Anyway, removing a module would certainly still require 
human intervention but its *intended* deprecation/removal 
could be specified precisely. If a feature lives longer 
due to gods mercy <wink> than this is pure luck. You can
hope for it but should not rely on it.

I just happen to think that people and programs can work much 
better with 'version 2.5 or 3.0' than 'some years after some 
point in time' <wink>. 

time-less-ly yours,


P.S: another solution is to found a Deprecation-SIG which would 
     find many many friends, i bet. The only SIG that would
     have no expiration date :-)