[Python-Dev] Re: Stability and change

Tim Peters tim.one@comcast.net
Mon, 08 Apr 2002 02:16:19 -0400


[Barry A. Warsaw]
> ...
> Note that Jim often brings up his opinion that the /only/ way to
> guarantee Zope Z.Y.Z works on Python X.Y.Z is to distribute Python
> with Zope.

And note that we ship Microsoft's C libraries with Python on Windows, to
insulate users from x-release incompatibilities in MS's C libraries.
Whether it actually helps Python's users varies across Windows flavors, and
also across vagaries of the user's installation and configuration settings.
But I think it's important to note that in recent MS OSes, they're trying to
make it *easier* for apps to force use of the specific DLLs they ship with
(although our Python installer isn't yet doing any of the things necessary
to exploit these new capabilities).

Don't think Linux is immune either.  Upgrading gcc or glibc can "suddenly
break" programs that used to work fine.  God has a sense of humor about
this, though:  He usually arranges that breakage show up first in obscure
libm endcases <wink>.

> ...
> We're really touching on much deeper flaws in software development,
> with no good answers, IMO.

Indeed so!  Python's not the only thing that changes in incompatible ways
over time:  *everything* does, including the compilers, system libraries,
system tools, and OS policies.  The first textbook I had on mathematical
logic was Stephen Kleene's (yes, that Kleene) cheerfully named "Mathematical
Logic".  The first chapter contained a warning to the student:

    It will be very important as we proceed to keep in mind this
    distinction between the logic we are studying (the object logic)
    and our use of logic in studying it (the observer's logic).  To
    any student who is not ready to do so, we suggest that he close
    the book now, and pick some other subject instead, such as
    acrostics or beekeeping.

For this reason, I suggest naming the hypothetical "forward and backward
compatible forever more" Python branch the "Python Acrostics and Beekeeping"
branch.

you-can't-spell-pablum-without-pab-ly y'rs  - tim