
On Thu, 22 Oct 2009 06:02:29 am Guido van Rossum wrote:
On Wed, Oct 21, 2009 at 11:52 AM, geremy condra <debatem1@gmail.com> wrote:
Towards that end, I'd also like to propose a very public, very accessible 'sandbox' specifically for the development and testing of new language features while the moratorium is in effect. ...
I can't stop people from forking the language to do experiments, but one of the goals I have for the moratorium is actually to *reduce* the interest in core language changes, and to *raise* the barrier to entry. Most language change proposals are just fluff, and they will be just as unneeded three years from now as they are today. Once the moratorium is lifted, users should be able expect the normal, slow, conservative evolution of the language to continue -- not to see the floodgates lifted for a barrage of new features.
I was going to make a similar suggestion to Geremy, an official experimental branch in perpetual alpha, specifically to allow people to experiment with language changes. This doesn't mean that when the moratorium is lifted there will be a sudden flood of new features, radically changing the language: features will still need to go through precisely the same procedure to be accepted into the language as they do now. But it will be a place to point people and tell them "don't just tell us how you imagine this feature will work, show us". (For the record, I'm not suggesting that this experimental branch should be open to commits from anyone. You still have to convince those with privileges that your patch is worth looking at.) As far as the moratorium goes, I'm going to be the negative-nellie who says that I don't think this will actually make much practical difference. Python is, and always has been, very conservative about adding new language features. And so far, we've only heard from one developer of another Python implementation, Dino Viehland of IronPython, who said that language features are generally not a problem for him. As far as I can see, the only practical difference it will make is that it will cut short some (but not all) threads on python-ideas and comp.lang.python: anyone who suggests a language change will be told "Moratorium. Come back in 2013." This risks giving newbies the impression that Python is moribund and closed to new ideas -- not just the amateur language designers who have a wild and wacky ideas, but also those with clue who have good, thought-out ideas, as well as the quiet ones who don't have ideas but like those who do. Programming language popularity is not quite a zero-sum game, but languages do live or die by the ability to attract and keep new users. Particularly in Open Source languages, those users tend to be attracted more by "fresh and lively" than "stable and boring". So this is a cost that needs to be considered against the dubious (to me at least) proposition that a feature-freeze in the language will speed up uptake of 3.1. If library authors are going to support 3.x, they need to pick a minimum version and write for that. A new-feature freeze for 3.2 and 3.3 isn't going to make their life easier if they're writing for 3.1, for the obvious reason that they need to use only features available in 3.1. The only language changes that hurt them are non-backward compatible changes like the removal of features, but even there the benefit is minimal because Python already is very cautious about backwards compatibility. Features aren't removed or functionality changed without a long deprecation period, possibly even longer than the proposed moratorium. So I'm not convinced that this moratorium will actually give any advantage. -- Steven D'Aprano