(original) (raw)

On 05:51 pm, pje@telecommunity.com wrote:
>At 07:45 AM 3/15/2007 +0100, Martin v. Löwis wrote:
>>I apparently took the same position that you now take back then,
>>whereas I'm now leaning towards (or going beyond) the position
>>Tim had back then, who wrote "BTW, if it \*weren't\* for the code breakage,
>>I'd be in favor of doing this."
>
>If it weren't for the code breakage, I'd be in favor too.  That's not the
>point.
>
>The point is that how can Python be stable as a language if precedents can
>be reversed without a migration plan, just because somebody changes their
>mind?  In another five years, will you change your mind again, and decide
>to put this back the way it was?

Hear, hear.  Python is \_not\_ stable as a language.  I have Java programs that I wrote almost ten years ago which still run perfectly on the latest runtime.  There is python software I wrote two years ago which doesn't work right on 2.5, and some of the Python stuff contemporary with that Java code won't even import.

>Speaking as a business person, that seems to me... unwise.  When I found
>out that this change had been checked in despite all the opposition, my gut
>reaction was, "I guess I can't rely on Python any more", despite 10 years
>of working with it, developing open source software with it, and
>contributing to its development.  Because from a \*business\* perspective,
>this sort of flip-flopping means that moving from one "minor" Python
>version to another is potentially \*very\* costly.

And indeed it is.  Python's advantages in terms of rapidity of development have, thus far, made up the difference for me, but it is threatening to become a close thing.  This is a severe problem and something needs to be done about it.

>But as you are so fond of pointing out, there is no "many people".  There
>are only individual people.  That a majority want it one way, means that
>there is a minority who want it another.  If next year, it becomes more
>popular to have it the other way, will we switch again?  If a majority of
>people want braces and required type declarations, will we add them?

And, in fact, there is not even a majority.  There is a \*perception\* of a majority.  There isn't even a \*perception\* of a majority of Python users, but a perception of a majority of python-dev readers, who are almost by definition less risk-averse when it comes to language change than anyone else!

If we actually care about majorities, let's set up a voting application and allow Python users to vote on each and every feature, and publicize it each time such a debate comes up.  Here, I'll get it started:

http://jyte.com/cl/python-should-have-a-strict-backward-compatibility-policy-to-guide-its-development

According to that highly scientific study, at this point in time, "Nobody disagrees" :).  (One in favor, zero against.)