DISQUS

Word Aligned: Python on Ice

  • jnoller · 1 month ago
    We've added more features in the last few years than strictly necessary - many of those features have not seen widespread usage simply due to people/companies/OS Vendors being slow to update. A cooling off period, which only affects syntax, built-ins and things in the core will give us a greater idea of what has been added that works, and what doesn't.

    Most places haven't even upgraded to 2.6 yet.

    Now let's take into account 3.0 - 2.7 is slated to be the end of the line for python-core working on the 2.x codebase. 3.x is the future, from a core development standpoint - things are being done on 3k, which are not being back ported. 3.x is the way forward, and letting the world catch up to 2.6 (and 2.7 next year) with minimal syntax alterations, and then 3.0 which bring on a whole bunch of syntax and idiom changes also benefits us, and the ecosystem.

    As Jason notes; the moratorium does not apply to docs, tests, the standard library or the interpreter. The hope is that minimizing focus on syntax in will add bandwidth and focus in favor of improving these other things - which helps *everyone*.
  • tag · 1 month ago
    Thanks for the extra information, Jesse. I think this change of focus is right, and important. I would argue, though, that it is the strength of the core language which has made so many people willing to contribute to the standard library, tests, documentation etc. Python is a pleasure to write and use.
    Maintaining two versions of Python is less pleasant.
  • jnoller · 1 month ago
    Most patches need only target 1 version - typically the committer applying the patch will back port/forward port as needed. Only core-dev is actively maintaining the two versions.
  • Jason Prado · 1 month ago
    Guido goes on to say, though:
    "Note, the moratorium would only cover the language itself plus
    built-in functions, not the standard library."

    The two best changes there, the 25 and 31 changes, are just library changes. There's years of work to do on the standard library and some of the biggest gains to be had are there.
  • tag · 1 month ago
    Good point, thanks Jason.
  • mentat_enki · 1 month ago
    Also, if you look at the tremendous ubiquitousness of the default implementation-layer language and its history as an basically unchanging standard (here meaning ANSI C), you can see why freezing the language itself isn't necessarily a "bad thing". I mean, even if there are still appreciable flaws (not just characteristic quirks like significant whitespace) in the python language itself as it is, in the words of Dennis Ritchie: "C is quirky, flawed, and an enormous success." I think I'd have to agree. :)
  • tag · 1 month ago
    The comparison with C is an interesting one. C has changed, but many C99 changes aren't widely known or used. C is a low level language often used (as by CPython) as a stable porting layer - people don't want it to change. Also, it models a computer architecture which is fundamentally unchanged.
    As a high-level language, I would argue Python has wider freedom to evolve.
  • jonathan oberg · 1 month ago
  • jay@thecapacity · 1 month ago
    Well, I for one would love to see the ':' requirement for definitions and loops go away.

    There's already whitespace there, i.e. '\n' so I've never seen the point of it!
  • jnoller · 1 month ago
    Already brought up and rejected.
  • Robert · 1 month ago
    They are only halting on the language itself. They are still cleaning up the std library. I actually think it is a great idea and I think it will make Python 3 a very solid platform in the long run.

    +1
  • absaffasfasfasfas · 1 month ago
    There are no core language changes so badly needed that it will be a problem to have to wait a couple years for them to make it in.
  • yuv · 1 month ago
    rot-13 isn't in python 3.0, go figure...
  • tag · 1 month ago
    Right. That's why the Europython goody bag code fails under Python 3.0 (and 3.1).
  • Tim Lesher · 1 month ago
    The language moratorium isn't about getting end-users to migrate to Python 3. It's about giving alternate implementations a chance to get caught up with CPython.

    On the other hand, the mechanism for getting people to move to Python 3 was announced at Pycon 2008 (almost a year ago). It's called "no new features are being accepted into the 2.x branch at all, unless they're back-ports from 3.x". That's a different thing from the core moratorium Guido proposed recently.
  • tag · 1 month ago
    Thanks for the heads-up, Tim. Clearly the Python 2 to Python 3 migration is breaking new ground. However thorough the planning, I guess there's a degree of making things up as we go along. No one has done this before.
    It's one thing to analyse the changes as a Python insider, or experienced user. I do wonder what newcomers to the language make of the dual language versions.