[Python-Dev] Timing for Py2.4

Raymond Hettinger python at rcn.com
Sun Mar 28 00:33:20 EST 2004


> Raymond Hettinger wrote:
> > The PEP for Py2.4 got updated and the dates were pushed back to
> > September.  Is there any reason that we couldn't get a first alpha
out
> > in early June or late May?

[Anthony]
> I _really_ want to give ast-compiler and generator expressions time to
> bake. genexps in particular have the potential to have all sorts of
> nasty corner cases.
> 
> Once we release 2.4.0, changing genexps to fix any previously-
> unforseen uglies is going to be much, much harder.

[Tim Peters]
> The ast-branch compiler is likely to have its share of subtle
glitches.
> They may be more serious, since it looks like "the plan" for genexps
now
> is
> to say that genexps work -- whatever they happen to do <wink>.
> 
> Raymond, the 2.4 PEP was updated after a 2.4 planning meeting during
the
> PyCon sprints on Sunday.  There was plenty of debate there.


The discussion took place before we learned that our most active
developer won't be distracted by pesky board duties ;-)  So I would like
to re-open the discussion on the timing for Py2.4.

My thoughts on the above are:

1)  "Baking" is not happening.  There are only a tiny handful of us
actively developing and using Py2.4.  Move the release date back five
months and that's five more months that no one is looking at the
product.  The best way to get people exercise the code base is to have
an alpha release.

As evidence, look at the features I've added over the last nine months.
I get feedback while they are being developed and a few days afterwards.
After that, there is *zero* feedback (okay, Guido once asked a question
about set comparisons, but that was it).

2)  As it stands now, the current CVS is the most stable it has ever
been prior to an alpha release.  It is already in excellent shape and is
chock full of features and optimizations that people can be putting to
work right now.

3) For folks who haven't been actively using Py2.4, a little FUD is
natural.  However, passage of time will not make that go away.  The only
valid reason I can see for a much later release date is if someone has a
specific plan to do a major piece of development or review during the
summer months.  Right now, I know of no one who has made that
commitment.  Worse, if you move the data back far enough, then folks are
less likely to set aside time now to even look at the current CVS, much
less contribute to it.

4) If some feature set turns out to be worrisome, I would rather delay
it for Py2.5 than hold up Py2.4 indefinitely.  The AST people know best
whether their work is fit for commitment.  If it's not ready, then let
it cook on its own time.  Basically, it's ready when it's ready.


5) Genexps won't be committed until thoroughly tested and the code
thoroughly reviewed.  All of the posted examples will be tried and
matched against expectations.  I will take every script I've ever
written and substitute genexps for list comps and then run the test
suites.  IOW, from the very first, I expect genexps to be more solid
than most of the Py2.2 features ever were.  Also, unlike new-style class
gizmos, most everybody gets the idea of genexps -- that means they will
be more thoroughly understood and tried out by more people once an alpha
goes out.


6) Since Py2.2 went out, we've had a much better discipline of writing
thorough unittest suites and good documentation (that is why the new
Py2.3 modules had so few bug reports; except for logging, most of the
bug reports are for things predating Py2.3).  Walter has been
systematically increasing coverage so we are on much more solid ground
than ever.



Does anyone have a good reason that the first alpha cannot go out in
May?

We don't have to feature freeze (i.e. Decimal can go in when it's
ready). If an area of concern surfaces, we can always go through
additional alpha/beta cycles.


Raymond




More information about the Python-Dev mailing list