[pypy-dev] Roadmap draft

Jacob Hallén jacob at openend.se
Wed Dec 19 22:49:43 CET 2007

Thanks for the feedback Martijn, some comments below

onsdagen den 19 december 2007 skrev Martijn Faassen:
> Carl Friedrich Bolz wrote:
> > Just to inform you a bit: Several PyPy developers have sat together and
> > worked on a very rough roadmap for what tasks need to be done to make
> > PyPy a realistic replacement for CPython. The work is going on here:
> >
> > https://codespeak.net/svn/pypy/extradoc/planning/roadmap/
> >
> > We plan to work on this some more in the next days. As soon as it is in
> > a more finished state we will ask write a mail to pypy-dev again and ask
> > for general feedback.
> Hey,
> I subscribed to the mailing list again. I'm very glad that this planning
> is taking place.
> Some feedback:
> If I read it correctly, the list seems more or less to be about an
> end-result to the process, a more or less "ideal" production release.
> Not quite idea perhaps -- library support may still be limited, but yet
> quite a lot of things are in there. That's good for a goal; one should
> set the sights high, and I'm sure the project is capable of
> accomplishing all this technically, eventually.
> I think it's also very important to space out how you get there: have
> nearer-term goals with releases that aim to be useful.
> I think some of the most important thinking that still that needs to go
> into this roadmap is to figure out how to space this out over multiple
> releases, where you have multiple releases of hopefully increasing
> usefulness. This way you set up a positive feedback cycle where people
> test things and hopefully people will be motivated in contributing in
> useful places (libraries and such, and reporting bugs). At least,
> waiting until all of this is completed sounds like it would take quite a
> while as there are many tasks involved.

The roadmap is part of a multi step process. After we get acceptance from 
people in the project on where we want to go, the next step is outlining how 
to get there. I hope that people will conclude that the best way to go about 
things is to make a series of releases, but we will see. Releases take a lot 
of effort and there is a balance to strike between producing and releasing.

> To get to a list of projected releases, you could restrict your
> ambitions along various dimensions. For instance, you could focus on
> only supporting one or a limited amount of backends for a first release.
> Or you could defer erformance optimizations. Alternatively you could
> restrict the amount of libraries you are going to implement (this is
> already in the roadmap, but on the other hand the support for a GUI
> toolkit is in there too). I'm sure other dimensions exist that I can't
> even think of.

I think the roadmap is a set of restrictions. To be a viable replacement for 
CPython, there is a single backend that needs to be supported. We are not 
focusing on the JVM or .NET in this roadmap and we are not talking about 
support for other languages. For libraries, I think that is something that is 
absolutely necessary in order to get traction among Python users. While it 
would be nice if someone comes along and ports a GUI library, I don't think 
we can count on that happening. It is in any case a task that belongs near 
the end of a timeline with releases.

So, the roadmap reflects our current understanding of what we have to do to 
have a system that can attain critical mass and become a major Python 
implementation, hopefully supplanting CPython one day. I am certain we will 
have reason to revise the roadmap along the way, dropping some tasks and 
introducing others. Unfortunately, there are a large number of things that 
have to get done, but that is to a large extent the consequences of Python 
being a fairly old and well established programming language.


More information about the Pypy-dev mailing list