ACCEPTED: PEP 285
James Logajan
JamesL at Lugoj.com
Sat Apr 6 17:55:36 EST 2002
Tim Peters <tim.one at comcast.net> wrote:
> It's unclear why you would ever need to, if you want to stick with an
> older version, unless you wanted to pick up a pure bugfix release (a
> 3-digit release, like next week's upcoming 2.2.1 and 2.1.3, being,
> respectively, the first pure bugfix release in the 2.2 series, and the
> third in the 2.1 series).
Your advice may seem reasonable but wasn't quite applicable. I developed
some Usenet moderation programs on 1.5.2 because I knew the co-moderators
would be running on Linux (1.5.2 and 2.0), Solaris (1.5.2), and Windows
(2.1). I didn't have Solaris handy, so by distributing this freeware
program as a simple zipped file of *.py files, I wouldn't have to contend
with the near impossible task of freezing my application on all the target
platforms. And with luck it could be used by users running on Macs. By
choosing Tkinter and 1.5.2 I hoped to minimize version incompatibility. But
in the end I had to contend with unexpected forward incompatibilities in a
few places, including in sockets (this one was well known, still some old
code tripped me up), cStringIO's close semantics changed, and of course
Tkinter problems. The Tkinter issue was more vexing than the other issues,
since it took a while to surface and when it did it took a while to track
down and come up with a good solution. I guess you could say I got "burned"
by it.
> Major releases change the first digit; there have been only three such
> in all of Python history, counting 0.9.6 and 1.0 and two major
> releases. Python 3.0 is at least years away. The goal between minor
> releases (bumping the 2nd digit) is 6 months.
Sorry, I meant to use "major" here as in "there are new features or
semantic changes in this release that if you use in your code, it wont run
at all or as you expect on previous releases". Doesn't matter what you call
it, if a 2.1 script can't run at all or as expected on 2.0, that is a major
change in the _colloquial_ sense. I consider the nature of the changes
between so-called "minor" releases and their frequency a major problem to
_me_. I don't think you can realistically "argue" those problems away. I am
hoping that you will try to accommodate my experiences into your Python
world view before brushing them off.
> Why do you feel you can't slow down your adoption of new releases?
Before I set Python aside as being unacceptably non-portable for a
scripting language, I _had_ tried to stop at 1.5.2. But I couldn't develop
open source scripts in such a way that they were version independent
without either a lot of version checking or freezing applications with a
specific version of the interpreter (which defeats one of the points of
open source IMHO).
> If you only
> care to upgrade every 2 or 3 years (whatever), you're not required to
> pick up releases any faster than that. It's not like you paid us for a
> subscription and are going to get cheated out of your money's worth if
> you refuse to accept delivery <wink>.
My last Python project was a freeware moderation tool: my attempt to
contribute some small thing back to the maintenance of Usenet. It was the
difficulties encountered in that project that made me think about the
future of Python and my use of it.
> When the release rate slows to what you'd like to see, I'd take it as a
> strong indicator that Python may be entering its death phase.
The Bourne shell (bsh) and C shell (csh) haven't changed in a _long_ time.
Do you consider these scripting languages dead in any meaningful sense of
the word?
More information about the Python-list
mailing list