5 ms·
Python: language moratorium is lifted
- dalke 16y agoQuoting 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.
- pero 16y agoSo, 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.
- Locke1689 16y agoNo, 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.
- pero 16y agoIt means that I don't know what I'm talking about; and what I'm adjudging is dissuading me from 'correcting' that.
- jamesrom 16y agoThat 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.
- pero 16y agoA 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.'
- bpodgursky 16y agoNice try, Watson.
- ableal 16y ago> 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 http://news.ycombinator.com/item?id=2130854
- martincmartin 16y agoPlease don't feed the trolls.
- pero 16y agoWith what? Knowledge? Get over yourself.
- jedbrown 16y agoPerhaps 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.)
- JeremyBanks 16y agoThis 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.
- 16y ago
- wisty 16y ago> 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.
- jnoller 16y agoI 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.
- gjm11 16y agoIn case anyone's wondering about the two PEPs GvR mentions: PEP 380 (http://www.python.org/dev/peps/pep-0380/ 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/ 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.
- anonymoushn 16y agoThis is somewhat disappointing. Python's lack of full-fledged coroutines is most of what keeps me using Lua.
- dalke 16y agoAnd you don't want to use Stackless Python because ... ?
- yummyfajitas 16y agoI 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 http://zope.stackless.com/Members/rmtew/News%20Archive/3.1.3
- TillE 16y agoAs 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.
- dalke 16y agoIt 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?
- njharman 16y agostackless is actively used by mmorpg EvE Online
- SoftwareMaven 16y agoThere is also continued work on coroutines (based on Stackless) in Pypy: http://codespeak.net/pypy/dist/pypy/doc/stackless.html http://codespeak.net/pypy/dist/pypy/doc/stackless.html
- Jach 16y agoDid 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...