ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> python-dev
python-dev
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

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved