PEP 3003: “Python Language Moratorium” — Accepted

November 9th, 2009 § 5 comments

PEP 3003: “Python Lan­guage Mora­to­rium” has been accepted. After sev­eral weeks of dis­cus­sion, Guido switched the bit this morning.

This PEP effec­tively freezes the syn­tax and fol­low­ing items:

  • New built-ins
  • Gen­eral lan­guage semantics
  • New __future__ imports

This does not apply to the stan­dard library; adding meth­ods to builtins, or bug fixes to exist­ing things.

I know there’s opin­ions on both sides, but I see this as a Good Thing™ — this hope­fully frees up core-dev to work on the stan­dard library, tests, the inter­preter, docs, etc — basi­cally every­thing “else” that makes Python, well — Python.

This qui­es­cence will also allow other impl­men­ta­tions to catch up to the cur­rent syn­tax, builtins, etc. This is a good thing for every­one as Python the lan­guage is no longer “Python the C inter­preter” — it’s Python the Lan­guage as inter­preted by unladen-swallow|jython|pypy|ironpython.

There’s also the point that in the last 5 or 6 years, Python as a lan­guage has added a pile of new syn­tax and fea­tures that still haven’t seen wide spread use. For exam­ple, con­text man­agers. Oper­at­ing Sys­tem ven­dors lag behind us in terms of releases. We need to see these things used in the wild to see if the var­i­ous exper­i­ments work.

Yes; this slows the devel­op­ment of the lan­guage down, but given most of the known world is still on 2.4/2.5 — does it really fun­da­men­tally effect any­one other than out­liers (early adopters) and core-developers?

We’ll see how the exper­i­ment goes.

  • http://catphive.net/ Bren­dan Miller

    Has any­one talked about putting together some kind of for­mal stan­dard for Python? It seems like the num­ber of imple­men­ta­tions has been grow­ing steadily, and core lan­guage fea­tures are solid­i­fy­ing, so this seems like an appro­pri­ate time.

    Prob­a­bly a sub­set of python 3 that doesn’t include the entire CPython stan­dard library, and doesn’t spec­ify fea­tures that would be dif­fi­cult to imple­ment in some envi­ron­ments, like the JVM. That would pro­vide a non-moving min­i­mal tar­get both for imple­menters, and for peo­ple want­ing to write portable code.

  • http://jessenoller.com jnoller

    It was brought up in the dis­cus­sions of this pep on python-dev, I
    don’t remem­ber ther argu­ments against it, but there were a few.

  • http://twitter.com/catphive cat­phive

    EDIT: woops, left a dupli­cate because I thought the first com­ment got deleted.

  • edream­leo

    I thor­oughly approve. As the lead devel­oper of a major Python app, I am dis­mayed by pro­pos­als such as pep 3101, that appar­ently envis­ages dep­re­cat­ing and then killing the ‘%’ string oper­a­tor. Sup­port­ing this would be *dead last* on my to-do list, and it appears to break the explicit, pub­lic promise that Python 3.x would be the one and only time that masses of exist­ing code would be broken.

  • edream­leo

    I thor­oughly approve. As the lead devel­oper of a major Python app, I am dis­mayed by pro­pos­als such as pep 3101, that appar­ently envis­ages dep­re­cat­ing and then killing the ‘%’ string oper­a­tor. Sup­port­ing this would be *dead last* on my to-do list, and it appears to break the explicit, pub­lic promise that Python 3.x would be the one and only time that masses of exist­ing code would be broken.

What's this?

You are currently reading PEP 3003: “Python Language Moratorium” — Accepted at jessenoller.com.

meta