[Python-Dev] Re: Stability and change

Guido van Rossum guido@python.org
Mon, 08 Apr 2002 20:19:03 -0400

> I'd agree with that in the abstract.  But then I realize that I'm
> still writing for 1.5.2, estimate that it would probably take a month
> or two to update 10K lines of C extension code to 2.0, 2.1, and 2.2,
> realize that I just don't have the time, and cringe away from the
> whole idea.

How did you arrive at this estimate?

I'd be *very* surprised that a "mere" 10K lines of extension code
would require significant work to keep it working under 2.2.  I don't
know where you get this idea, but Python's C API is actually quite
stable, and more often than not, no changes are necessary to keep
1.5.2 code conformant with 2.2, or the changes are limited to 1 or 2
lines per file.

> My wish as an extension developer would be for Python to be stable for
> a year at a time, and then change to a new stable version that would
> last for another year.  Then I could keep my extension code reasonably
> up to date by devoting one concentrated month per year.  Maybe the
> problem is not as bad as I percieve it; but I can't afford the time to
> find out.

I encourage you to give it a try.  Just compile your code with the
Python 2.2 header files, and see what kind of compilation errors you
get.  If you don't get compilation errors, most likely there's nothing
you need to change.

> That's why I like the idea of separate stable and experimental
> tracks--the language evolution happens and I get the benefits, but I
> don't have to constantly keep up with it.

You really ought to try it for yourself.  Whoever told you that it
takes two months to update 10K lines of C extension code probably had
never tried it -- or confused a *functional* upgrade of the code with
merely keeping it working with a new Python release.

(I almost feel offended, because I've been fighting so hard for
backwards compatibility at the C API level.)

--Guido van Rossum (home page: http://www.python.org/~guido/)