future of Python: Stackless, Standard -> fragmentation ?

Grant Griffin g2 at seebelow.org
Sat Oct 7 09:00:37 EDT 2000


Will Ware wrote:
> 
> Thomas Weholt (thomas at cintra.no) wrote:
> > ... could Python be fragmented in the future due to "distros" like
> > (ActivePython), Stackless Python  and JPython ...
> > ... Is the difference between the different
> > implementations any reason for concern at all?
> 
> I can't speak for ActivePython, but I know a little bit about the stories
> with JPython and Stackless. JPython replaces Python's virtual machine,
> normally written in C and part of the source code for Python, with Java's
> virtual machine. Stackless Python is a variant with a modified virtual
> machine, where information that was previously kept on the C stack is
> moved to a separate data structure, with the consequence that threads of
> execution can be separated from one another, allowing for pickling
> (storing the thread away to be continued later) and microthreading (running
> several little threads concurrently, each a few opcodes at a time).
> 
> Alas, Stackless Python and JPython cannot be merged. The reason for this
> is that the Java virtual machine cannot be modified to become stackless in
> the sense that CPython's virtual machine can be. Technically it may be
> possible to write a modified JVM (there is at least one open-source JVM
> out there somewhere), but a forked JVM would never come into common usage,
> and any benefit of running Python on a standardized VM would be lost.
> 
> Were it not for the irreconcilable differences between Stackless and
> JPython, Stackless might have made it into the 2.0 release. The people who
> make these decisions (Guido and company at BeOpen) are well aware of these
> issues and many more, and have thought them through in much greater detail
> than you or I have done. So I'll reiterate the Python community refrain
> of "in Guido we trust".

That was very interesting, and it makes good sense.  But I guess the
thing that confuses me, in that context, is the assertion I have read
that Stackless is 100% backwards compatible with CPython.  Is the
"irreconcilable difference", then, in terms of the _new_ features or
capabilities that Stackless adds?  If so, JPython programmers presumably
could happily continue to do without them, in the same way that CPython
programmers currently do; only programs that rely on the new features
would be incompatible with JPython.

> --
> # - - - - - - - - - - - - - - - - - - - - - - - -
> # Resistance is futile. Capacitance is efficacious.

Inductance is religious.

and-don't-get-me-started-on-"reluctance"-<wink>-ly y'rs,

=g2
-- 
_____________________________________________________________________

Grant R. Griffin                                       g2 at dspguru.com
Publisher of dspGuru                           http://www.dspguru.com
Iowegian International Corporation	      http://www.iowegian.com



More information about the Python-list mailing list