Re: [Python-ideas] Proposal: Moratorium on Python language changes
On Wed, Oct 21, 2009 at 12:42 PM, Guido van Rossum wrote:
I propose a moratorium on language changes. This would be a period of several years during which no changes to Python's grammar or language semantics will be accepted.
I agree with a moratorium. I cannot imagine it doing any harm. I'd even go so far as to say new language syntax and semantics should only come in only at top level version numbers like 2.0, 3.0, 4.0, etc. ...not at 3.2, 3.3, 3.4, etc. And at this later date, I submit language changes should not come in unless there is a compelling reason. That said, two areas where language support would be welcome: - the optional declaration of data types - parallel processing FWIW, I do a lot of crypto and for now have chosen to remain at 2.5.x. For me, byte strings are all important, and a few quick forays into Python 3 and its default Unicode suggested I should proceed very carefully. My experiments with Python 2.6 left me uncomfortable as well. There I ran into a couple of standard libraries that had the same API but their implementation/behavior was different. (No, that was many months ago and I do not remember which. Sorry.) In time I will move to Py3.
On Wed, Oct 21, 2009 at 11:24 PM, Larry Bugbee <larry.bugbee@gmail.com> wrote:
I agree with a moratorium. I cannot imagine it doing any harm. [...] That said, two areas where language support would be welcome:
This is the typical response I expected. It is however internally inconsistent. Either you agree with a moratorium or you don't. Agreeing with a moratorium except for your personal pet peeve equals no moratorium, since there are too many pet peeves. -- --Guido van Rossum (home page: http://www.python.org/~guido/)
Please forgive me if anything I say has already been mentioned. I am certainly in support of a moratorium on Python core and switch the focus to Python libraries. I'm sure others have noticed that as of late many proposals have been of lower quality or are the same old ideas that keep getting requested. My only concern would be that the technology field is always changing and some great new technologies may come up during the moratorium. To alleviate this concern I propose that the primary Python core developers either meet once a year, or at the halfway point of the moratorium. They would then discuss whether or not any changes within the field are major enough to warrant a change within Python core. With these meetings we would be able to ensure that the Python core is only worked on if absolutely necessary, leaving us free to concentrate on library development. --Patrick Laban
On Thu, Oct 22, 2009 at 11:29, Patrick Laban <laban.patrick@gmail.com>wrote:
Please forgive me if anything I say has already been mentioned. I am certainly in support of a moratorium on Python core and switch the focus to Python libraries. I'm sure others have noticed that as of late many proposals have been of lower quality or are the same old ideas that keep getting requested.
My only concern would be that the technology field is always changing and some great new technologies may come up during the moratorium. To alleviate this concern I propose that the primary Python core developers either meet once a year, or at the halfway point of the moratorium. They would then discuss whether or not any changes within the field are major enough to warrant a change within Python core.
We already meet once a year at PyCon US and since last year instigated a language summit so we can just discuss things. But a moratorium is a moratorium. This is an all-or-nothing approach. As Guido has said, add gray area to it and suddenly everyone is trying to get their feature in. I really don't think going a release or two w/o changes to the language is going to make Python obsolete. We already have features in 3.x that people just don't know about because they have not started using it yet. -Brett
On Thu, Oct 22, 2009 at 11:29 AM, Patrick Laban <laban.patrick@gmail.com> wrote:
Please forgive me if anything I say has already been mentioned. I am certainly in support of a moratorium on Python core and switch the focus to Python libraries. I'm sure others have noticed that as of late many proposals have been of lower quality or are the same old ideas that keep getting requested.
My only concern would be that the technology field is always changing and some great new technologies may come up during the moratorium. To alleviate this concern I propose that the primary Python core developers either meet once a year, or at the halfway point of the moratorium. They would then discuss whether or not any changes within the field are major enough to warrant a change within Python core.
With these meetings we would be able to ensure that the Python core is only worked on if absolutely necessary, leaving us free to concentrate on library development.
That's the moratorium-with-exceptions again, which cannot work because everyone has their favorite "can't wait" exception. New technology should be dealt with in a library first anyway. Anyway, the "Python core" includes a lot of stuff that isn't covered by the moratorium (which only prohibits changes to syntax and associated semantics, not implementation issues). I expect that any issues with the moratorium will be discussed on python-dev first; but the yearly language summit will be a good point to review it too. -- --Guido van Rossum (home page: http://www.python.org/~guido/)
On Thu, Oct 22, 2009 at 12:08 PM, Guido van Rossum <guido@python.org> wrote:
That's the moratorium-with-exceptions again, which cannot work because everyone has their favorite "can't wait" exception.
New technology should be dealt with in a library first anyway.
Anyway, the "Python core" includes a lot of stuff that isn't covered by the moratorium (which only prohibits changes to syntax and associated semantics, not implementation issues).
I expect that any issues with the moratorium will be discussed on python-dev first; but the yearly language summit will be a good point to review it too.
-- --Guido van Rossum (home page: http://www.python.org/~guido/<http://www.python.org/%7Eguido/> )
With apologies, in this discussion I lost track of the fact that the moratorium is specific to the syntax and semantics issue. In this case I am in full support of the moratorium. It gets tiring seeing the same ideas proposed over and over again. Beyond python-dev the language summit should have a limited discussion about the moratorium, but beyond that it should stand. --Patrick Laban
On Thu, Oct 22, 2009 at 9:08 PM, Guido van Rossum <guido@python.org> wrote: [..]
That's the moratorium-with-exceptions again, which cannot work because everyone has their favorite "can't wait" exception.
New technology should be dealt with in a library first anyway.
So.. (just a thought) could that possibly mean we could have a different release cycle for the stdlib ? (this has been suggested lately) Or its just a "freeze" of what's not located in /Lib, with the usual release cycle ? Regards Tarek
On Thu, Oct 22, 2009 at 12:24, Tarek Ziadé <ziade.tarek@gmail.com> wrote:
On Thu, Oct 22, 2009 at 9:08 PM, Guido van Rossum <guido@python.org> wrote: [..]
That's the moratorium-with-exceptions again, which cannot work because everyone has their favorite "can't wait" exception.
New technology should be dealt with in a library first anyway.
So.. (just a thought) could that possibly mean we could have a different release cycle for the stdlib ? (this has been suggested lately)
It wouldn't preclude it, but that's a different discussion. -Brett
On Thu, Oct 22, 2009 at 3:08 PM, Guido van Rossum <guido@python.org> wrote:
Anyway, the "Python core" includes a lot of stuff that isn't covered by the moratorium (which only prohibits changes to syntax and associated semantics, not implementation issues).
Changes to semantics are rare enough that I'm not sure a moratorium (but allowing bug fixes) would matter. (Particularly if you stick to the claim that details of import resolution are implementation-specific.) I have no opinion on changes to syntax; they're already uncommon, but saying they'll wait until 2013 doesn't bother me. The limit on builtins may be more of a problem. For example, I liked Brett's work on signatures. If he gets motivated to work on it again, I don't want him to say "Drat; I really need access to this one extra function attribute, which isn't currently exposed at the python level. I guess I'll have to wait a few years." It would be reasonable to say that changes to builtins will be rare, and will typically be strictly additions to functionality, as though they were replaced by a subclass which overrode nothing except that certain Exceptions were now handled internally. (In other words, *if* the name previously existed, it either keeps the same meaning, or gets wrapped in something that just calls the old meaning as a try suite, with all new functionality inside the except suite.) -jJ
On Thu, Oct 22, 2009 at 18:22, Jim Jewett <jimjjewett@gmail.com> wrote:
On Thu, Oct 22, 2009 at 3:08 PM, Guido van Rossum <guido@python.org> wrote:
Anyway, the "Python core" includes a lot of stuff that isn't covered by the moratorium (which only prohibits changes to syntax and associated semantics, not implementation issues).
Changes to semantics are rare enough that I'm not sure a moratorium (but allowing bug fixes) would matter. (Particularly if you stick to the claim that details of import resolution are implementation-specific.)
I have no opinion on changes to syntax; they're already uncommon, but saying they'll wait until 2013 doesn't bother me.
The limit on builtins may be more of a problem. For example, I liked Brett's work on signatures. If he gets motivated to work on it again, I don't want him to say "Drat; I really need access to this one extra function attribute, which isn't currently exposed at the python level. I guess I'll have to wait a few years."
Since my PEP 362 keeps (surprisingly) coming up), I will use it as an example. If the code actually gets checked in then chances are it will be put into inspect first to work out any details. If it happens to receive uptake, it can get pushed up to a built-in or something when the moratorium is lifted. But assigning to __signature__ or something on functions is not really covered by this as anyone could do that on their own w/o changing Python. What would be gray area is if help() was changed to recognize the attribute. But that could potentially be negotiated as implementation detail.
It would be reasonable to say that changes to builtins will be rare, and will typically be strictly additions to functionality, as though they were replaced by a subclass which overrode nothing except that certain Exceptions were now handled internally. (In other words, *if* the name previously existed, it either keeps the same meaning, or gets wrapped in something that just calls the old meaning as a try suite, with all new functionality inside the except suite.)
I still prefer Guido's hard-line on changes and we don't even do additions. -Brett
participants (6)
-
Brett Cannon
-
Guido van Rossum
-
Jim Jewett
-
Larry Bugbee
-
Patrick Laban
-
Tarek Ziadé