Article on the future of Python

Steven D'Aprano steve+comp.lang.python at pearwood.info
Wed Sep 26 20:44:41 EDT 2012


On Wed, 26 Sep 2012 09:30:19 -0400, Kevin Walzer wrote:

> On 9/25/12 11:35 AM, Steven D'Aprano wrote:
>> IronPython in C#. Jython is written in Java. CLPython is written in
>> Lisp. Berp and HoPe are written in Haskell. Nuitka is written in C++.
>> Skulpt is written in Javascript. Vyper is written in Ocaml. PyPy is
>> written in RPython.
>>
>> Some of those Python compilers are obsolete, unmaintained or
>> experimental. Others are not. But either way, it is certainly not true
>> that Python is written in C. One specific Python compiler happens to be
>> written in C, that is all.
> 
> Apart from IronPython, what constituency do these alternative
> implementations of Python have that would raise them above the level of
> interesting experiments?

The "Big Four" are CPython, Jython, IronPython and PyPy. Possibly "Big 
Five" if you include Stackless, although I'm not quite sure just how big 
(popular) Stackless actually is. It's certainly old and venerable, and 
actively maintained. If you've played EVE Online, you've seen Stackless 
in action.

Jython has a big constituency in Java shops. I can't tell you much about 
that because I don't use Java.

PyPy is, well, PyPy is amazing, if you have the hardware to run it. It is 
an optimizing Python JIT compiler, and it can consistently demonstrate 
speeds of about 10 times the speed of CPython, which puts it in the same 
ballpark as native code generated by Java compilers. For some (admittedly 
artificially narrow) tasks it can beat optimized C code. It's fast enough 
for real time video processing, depending on the algorithm used.

While PyPy is still a work in progress, and is not anywhere near as 
mature as (say) gcc or clang, it should be considered production-ready.

I expect that, within the decade, PyPy will become "the" standard Python 
compiler and CPython will be relegated to "merely" the reference 
implementation.



-- 
Steven



More information about the Python-list mailing list