[Python-Dev] Re: Stability and change (original) (raw)

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/)