PEP 3003: “Python Language Moratorium” – Accepted

PEP 3003: “Python Language Moratorium” has been accepted. After several weeks of discussion, Guido switched the bit this morning.

This PEP effectively freezes the syntax and following items:

  • New built-ins
  • General language semantics
  • New __future__ imports

This does not apply to the standard library; adding methods to builtins, or bug fixes to existing things.

I know there’s opinions on both sides, but I see this as a Good Thing(tm) – this hopefully frees up core-dev to work on the standard library, tests, the interpreter, docs, etc – basically everything “else” that makes Python, well – Python.

This quiescence will also allow other implmentations to catch up to the current syntax, builtins, etc. This is a good thing for everyone as Python the language is no longer “Python the C interpreter” – it’s Python the Language as interpreted by unladen-swallow|jython|pypy|ironpython.

There’s also the point that in the last 5 or 6 years, Python as a language has added a pile of new syntax and features that still haven’t seen wide spread use. For example, context managers. Operating System vendors lag behind us in terms of releases. We need to see these things used in the wild to see if the various experiments work.

Yes; this slows the development of the language down, but given most of the known world is still on 2.4/2.5 – does it really fundamentally effect anyone other than outliers (early adopters) and core-developers?

We’ll see how the experiment goes.

  • edreamleo
    I thoroughly approve. As the lead developer of a major Python app, I am dismayed by proposals such as pep 3101, that apparently envisages deprecating and then killing the '%' string operator. Supporting this would be *dead last* on my to-do list, and it appears to break the explicit, public promise that Python 3.x would be the one and only time that masses of existing code would be broken.
  • EDIT: woops, left a duplicate because I thought the first comment got deleted.
  • Has anyone talked about putting together some kind of formal standard for Python? It seems like the number of implementations has been growing steadily, and core language features are solidifying, so this seems like an appropriate time.

    Probably a subset of python 3 that doesn't include the entire CPython standard library, and doesn't specify features that would be difficult to implement in some environments, like the JVM. That would provide a non-moving minimal target both for implementers, and for people wanting to write portable code.
  • It was brought up in the discussions of this pep on python-dev, I
    don't remember ther arguments against it, but there were a few.
blog comments powered by Disqus