[Python-Dev] A house upon the sand
Guido van Rossum
guido@python.org
Tue, 28 Nov 2000 10:10:51 -0500
----------
My feelings about this topic have been expressed adequately by others.
I'm not sure what to say about the code that worked in 1.5.2 but broke
in 2.0 -- if these were book examples, I suspect that the book was
probably using undocumented (if commonly seen) features, line
multi-argument append() or connect().
As someone else said: Change happens. Get over it. :-)
> "Tim Peters" <tim.one@home.com> writes:
>
> > On the deprecation of the string module: where did this idea come from?
> > I've never seen anything saying that the string module is deprecated.
Michael Hudson:
> I thought this, and went looking. I found on
> http://www.python.org/1.6/, about four fifths of the way down:
>
> Changed Modules
>
> string - most of this module is deprecated now that strings have
> methods. This no longer uses the built-in strop module, but takes
> advantage of the new string methods to provide transparent support
> for both Unicode and ordinary strings.
>
> I hope (and believe) this is Wrong.
Because of its importance, the deprecation time of the string module
will be longer than that of most deprecated modules. I expect it
won't be removed until Python 3000.
> http://www.python.org/2.0/new-python.html says:
>
> The old string module is still around for backwards compatibility,
> but it mostly acts as a front-end to the new string methods.
>
> which is IMHO better.
Yes.
And Greg Ewing:
> I think there are still legitimate reasons for using some
> parts of the string module. For example, if you're one of
> those stubborn people who refuse to accept that ",".join(foo)
> is a better way of writing string.join(foo,",").
This has been discussed -- jut note that continuing to use the string
module *is* frowned upon, and such stubborn code will get its just
desserts when Py3K arrives.
I suggest adding the following to the string module's documentation
(rather than marking it as explicitly deprecated):
This module exists for backwards compatibility only. It will
eventually be deprecated and its use should be avoided in new code.
I also suggest that someone go through the standard library and get
rid of all uses of the string module. (What to do with string.letters
c.s.?)
--Guido van Rossum (home page: http://www.python.org/~guido/)