Hacker News new | past | comments | ask | show | jobs | submit login
Python: language moratorium is lifted (gmane.org)
113 points by prog on Feb 26, 2011 | hide | past | favorite | 29 comments



In case anyone's wondering about the two PEPs GvR mentions:

PEP 380 (http://www.python.org/dev/peps/pep-0380/) would provide a convenient way for one generator function to yield all the values of another as part of its work. At the moment you have to say something like

  for x in foo:
    yield x
which isn't all that bad in itself but breaks down when your caller starts sending values back to you, coroutine-style. (Because they go to foo and you never get to see them.)

PEP 3152 (http://www.python.org/dev/peps/pep-3152/) uses the generator mechanism (as enhanced by PEP 380) which already provides something rather like coroutines, and adds some syntactic sugar to let you write coroutines that look like coroutines.


Quoting from PEP 303:

This PEP proposes a temporary moratorium (suspension) of all changes to the Python language syntax, semantics, and built-ins for a period of at least two years from the release of Python 3.1. In particular, the moratorium would include Python 3.2 (to be released 18-24 months after 3.1) but allow Python 3.3 (assuming it is not released prematurely) to once again include language changes.

Python 3.2 is newly released and 3.3 development has started.


So, essentially, the non-"python-is-my-second-language" crowd should wait not just for v3-as-is to gain acceptance, but until 3.3 before they start migrating, or what?

From a high-level outsider perspective, the shift from 2.x to "current" looks like amateur hour.


> From a high-level outsider perspective, the shift from 2.x to "current" looks like amateur hour.

You are hearing a lot of noise now, because 3.X has finally become viable enough to be interesting to the wider python community, I hope. That's why people keep hyping it.

3.0 was not ready, and only a few dedicated pythoneers (like Mark Pilgrim) pushed it.

It was very professional of the python community to keep 3.X in it's mother's basement until it was well-enough dressed to be seen in public.


I can't express how much I love the quote "It was very professional of the python community to keep 3.X in it's mother's basement until it was well-enough dressed to be seen in public." - it's incredibly spot-on.


No, the point of the moratorium was mostly to allow interpreter/compiler implementors to catch up. As of 3.3 the team is just going to start adding minor syntax augmentations to the language gradually, as they used to do. Anyone who wants to keep current with Python should just learn the syntax additions as they come out. The base syntax of Python 3 will not be changing any time soon.

From a high-level outsider perspective, the shift from 2.x to "current" looks like amateur hour.

I don't even know what this sentence means.


It means that I don't know what I'm talking about; and what I'm adjudging is dissuading me from 'correcting' that.


That you expound your claim with adornment and superfluous grammar obfuscates your intent to purport and diseminate the acceptation of your supposition.

...

In other words, no one knows what you are talking about.


A semi-colon for a poem, really? Could I have not meant to meant to emphasize the first part of that sentence with a break while continuing the train of thought? By the way, it's 'disseminate.'


Nice try, Watson.


> the shift from 2.x to "current" looks like amateur hour

"Amateur hour" would be to expect the shift to occur overnight, with magic powers conferred by unicorns and butterflies. If you look at the developers posts (instead of random uninformed excitable blogs) you'll see that it was realistically expected to take a few years.

See, for instance, core developer J. Noller's comment here: http://news.ycombinator.com/item?id=2130854


Perhaps my biggest complaint is that until recently, Python-2.x releases were not packaged with an executable named "python2", thus during the transition to Python-3.x, there is no safe way to specify which major version your script requires in the shebang. Arch Linux is already using version 3 for /usr/bin/python so any third-party scripts that require version 2 are broken. Other distros may wait a few years to do this, but it will still be painful. It would be much nicer if script writers could update the shebang to use "python2" if that is what they need. (It is difficult to make the same code be valid in python3 and python2 if you have to support people on RHEL4 or RHEL5 (python 2.3 and 2.4 respectively), for example.)


This is a mistake on the part of Arch. The Python team intended that "python" would be the canonical name for the Python 2 binary, with "python3" used where Python 3 was intended.


Have you any citations to back up that statement?


It's been hashed out over years on the Python-dev list.


Please don't feed the trolls.


With what? Knowledge? Get over yourself.


Is this standard practice for language new version roll-outs?


Did anyone else think "Wow, 2 years already"? (I remember people claiming the moratorium was a signal of Python's demise...)

I'm happy about PEP 380, it seems like they might as well do PEP 3152 as well since they're highly related...


This is somewhat disappointing. Python's lack of full-fledged coroutines is most of what keeps me using Lua.


And you don't want to use Stackless Python because ... ?


I was going to suggest that Stackless is dead, given that I haven't heard any news about it.

But that would have been foolish of me: http://zope.stackless.com/Members/rmtew/News%20Archive/3.1.3


As far as I know, they haven't developed any significant new features (does it need any?) in a long long time, so in that sense it's not an "active" project. But they're usually quick to port their patchset to each new Python version.


It adds coroutines to Python. What more do you need? It runs every other Python package, it tracks new Python releases perfectly, which means its "significant new features" are identical to Python's significant new features.

What would an "active" version of the project look like?


There is also continued work on coroutines (based on Stackless) in Pypy: http://codespeak.net/pypy/dist/pypy/doc/stackless.html


Thanks, I'll check this out in addition to stackless.


stackless is actively used by mmorpg EvE Online


Meh, I could nitpick at the language all day but I still use it. Call/cc probably isn't happening anytime soon.


So keep using Lua? Langauges choices are all about that...choice.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: