Re: [Python-Dev] PEP 3003 - Python Language Moratorium
by Steven D'Aprano other posts by this author
Nov 7 2009 4:15PM messages near this date
Re: [Python-Dev] PEP 3003 - Python Language Moratorium
|
Re: [Python-Dev] PEP 3003 - Python Language Moratorium
On Fri, 6 Nov 2009 09:05:17 am Guido van Rossum wrote:
> On Tue, Nov 3, 2009 at 9:35 AM, Guido van Rossum <guido@[...].org>
wrote:
> > I've checked draft (!) PEP 3003, "Python Language Moratorium", into
> > SVN. As authors I've listed Jesse, Brett and myself.
>
> I haven't seen substantial opposition against the PEP -- in fact I
> can't recall any, and many people have explicitly posted in support
> of it. So unless opposition suddenly appears in the next few days,
> I'll move it to the Accepted state next Monday.
I'm not a core developer, but I have made some objections on the
python-ideas list. For what it is worth, I don't think a moratorium is
needed, and it is not cost free. Whether the cost is worth it is a
matter of opinion, but I've read posts suggesting that there's no
downside to a moratorium. I think that's naive.
Firstly, the core developers are very conservative in the features they
add to the language. Nobody suggests that will change -- there are (as
far as I know) a grand total of *one* proposed language changes under
consideration for 3.2, namely "yield from". It isn't like the
moratorium is needed to stem a flood of vast numbers of incompatible
language changes, and this is not likely to change.
The given reason for the moratorium is to give the developers of other
Python implementations a chance to catch up. But as far as I know --
and I welcome correction -- only one such developer has spoken up, and
he says that new language features generally aren't a problem for
IronPython, but some standard library features are:
http://mail.python.org/pipermail/python-ideas/2009-October/006328.html
(In fairness, I should point out that Dino did not vote against the
moratorium, he gave a conditional "in favour" vote but asked for some
wiggle-room. A moratorium with wiggle-room is not a moratorium.)
A moratorium isn't cost-free. With the back-end free to change, patches
will go stale over 2+ years. People will lose interest or otherwise
move on. Those with good ideas but little patience will be discouraged.
I fully expect that, human nature being as it is, those proposing a
change, good or bad, will be told not to bother wasting their time,
there's a moratorium on at least as often as they'll be encouraged to
bide their time while the moratorium is on.
A moratorium turns Python's conservativeness up to 11. If Python already
has a reputation for being conservative in the features it accepts --
and I think it does -- then a moratorium risks giving the impression
that Python has become the language of choice for old guys sitting on
their porch yelling at the damn kids to get off the lawn. That's a plus
for Cobol. I don't think it is a plus for Python.
What one person sees as "stable", another may see as "moribund".
Perception does matter. Nick Coglan spoke of Jython having "fell by the
wayside" when CPython introduced new style classes:
http://mail.python.org/pipermail/python-ideas/2009-October/006431.html
I think that speaks to the opposite conclusion that Nick intended. If
developers craved stability, and were put off by the pace of changes to
CPython, why weren't they migrating to Jython, which had one new
production release in six years?
http://www.jython.org/archive/22/news.html
Nick also described C as changing much more slowly over its life that
Python has. This is misleading: it is true that the C standard has been
stable, but that doesn't mean that C compilers have been. Changes to
the standard were driven by changes introduced by the implementations,
not visa versa. Likewise for Cobol, where the first implementation to
introduce OOP was released in 1997, but the standard wasn't updated
until 2002.
Python is nothing like that. Python doesn't have an official standard,
and Guido has dismissed the need for an ISO standard. The other
implementations have historically let CPython lead as far as language
evolution goes. If CPython stops, likely Python stops. Who is going to
risk adding language features that break compatibility with the most
popular implementation? It won't be Python anymore.
The PEP says the moratorium will last "at least" two years from the
release of 3.1. Given the normal slow pace of new language features,
two years isn't bad -- that's effectively just 3.2. But Guido has
suggested it could last to 3.3. Could it last beyond that? 3.4? Until
some distant future Python-4000?
At the very least, I believe, any moratorium should have a clear end
date. A clear end date will be a powerful counter to the impression
that Python the language is moribund. It says, this is an exceptional
pause, not a permanent halt.
--
Steven D'Aprano
_______________________________________________
Python-Dev mailing list
Python-Dev@[...].org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/python-dev-ml%40maillist.acti
vestate.com
Thread:
Guido van Rossum
Arfrever Frehtes Taifersar Arahesis
Antoine Pitrou
exarkun
Glyph Lefkowitz
R. David Murray
exarkun
Glyph Lefkowitz
Stephen J. Turnbull
Brett Cannon
Guido van Rossum
Steven D'Aprano
Steven D'Aprano
Guido van Rossum
Scott Dial
Geremy Condra
Jesse Noller
Geremy Condra
Guido van Rossum
Geremy Condra
Brett Cannon
Guido van Rossum
John Arbash Meinel
Greg Ewing
Terry Reedy
Mrab
Dirkjan Ochtman
Brett Cannon
Jesse Noller
Guido van Rossum
Georg Brandl
Nick Coghlan
Guido van Rossum
skip
exarkun
Georg Brandl
Guido van Rossum
Brett Cannon
Guido van Rossum
Brett Cannon
Guido van Rossum
Brett Cannon
Terry Reedy
Geremy Condra
Andre Stechert
Yuvgoog Greenle
Nick Coghlan
Dirkjan Ochtman
Tres Seaver
Nick Coghlan
Bobby R. Ward
exarkun
hfuerstenau
Yuvgoog Greenle
Gregory P. Smith
Georg Brandl
A.M. Kuchling
Georg Brandl
Jesse Noller
Raymond Hettinger
Stefan Behnel
Stefan Behnel
Michael Foord
Stefan Behnel
Michael Foord
Stefan Behnel
Maciej Fijalkowski
Stefan Behnel
Dirkjan Ochtman
Thomas Heller
Guido van Rossum
Stefan Behnel
Antoine Pitrou
Stefan Behnel
Guido van Rossum
Anand Balachandran Pillai
Willem Broekema
Maciej Fijalkowski
Stefan Behnel
Michael Foord
Steven D'Aprano
Willem Broekema
Steven D'Aprano
Willem Broekema
Stefan Behnel
Dino Viehland
Stefan Behnel
Dino Viehland
Collin Winter
Alexandre Vassalotti
Jack Diederich
Nick Coghlan
Mark Hammond
Facundo Batista
Jesse Noller
Barry Warsaw
Michael Foord
Doug Hellmann
skip
M.-A. Lemburg
Guido van Rossum
Stephen J. Turnbull
Brett Cannon
Guido van Rossum
martin
Guido van Rossum
Antoine Pitrou
|