PEP 236: Back to the __future__

Konrad Hinsen hinsen at cnrs-orleans.fr
Tue Feb 27 06:11:22 EST 2001


"Tim Peters" <tim.one at home.com> writes:

>     From time to time, Python makes an incompatible change to the
>     advertised semantics of core language constructs, or changes their
>     accidental (implementation-dependent) behavior in some way.  While this

I am not at all happy with this approach. Incompatible changes should
not happen "from time to time", but as rarely as possible and then all
at the same time. I much preferred the "Py3K" project which was to
include all the improvements that had to be held back due to
compatibility concern.

Like many Python users, I have a huge base of installed code, lots of
it written by myself, but the majority written by others. Everything
works fine together, and I am happy and productive.

Now comes Python 2.1 with nested scopes. I don't expect much of my own
code to break, but I can't be sure, I certainly didn't write it with a
possible change of scoping rules in mind. So perhaps I'll have to
modify it a bit, that shouldn't be much work.

But then there's all the code from others that might also break, and
that I don't want to fix at all. And since some of my code will depend
on code from others, I won't fix my own code either and stick to
Python 1.5 instead. Which in turn forces others who depend on my code
to do the same. Sure, sooner or later everybody will want to use the
new features of Python 2.1. But by then Python 2.1 will have been
replaced by 2.2, with its own set of incompatible changes.

If, on the other hand, incompatible changes occur only every five
years or so, then people will be inclined to install two Python
distributions in parallel and update their code over a period of a few
months.

Moral: incompatible changes should happen on a time scale compatible
with uncoordinated collective code development, which is years, not
months.
-- 
-------------------------------------------------------------------------------
Konrad Hinsen                            | E-Mail: hinsen at cnrs-orleans.fr
Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.56.24
Rue Charles Sadron                       | Fax:  +33-2.38.63.15.17
45071 Orleans Cedex 2                    | Deutsch/Esperanto/English/
France                                   | Nederlands/Francais
-------------------------------------------------------------------------------



More information about the Python-list mailing list