[pypy-dev] Roadmap draft
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.
> 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