Forgot your password?
typodupeerror
Programming IT Technology

The Evolution of Python 3 215

Posted by ScuttleMonkey
from the all-growd-up dept.
chromatic writes to tell us that O'Reilly has an interview with Guido van Rossum on the evolutionary process that gave us Python 3.0 and what is in store for the future. "I'd like to reiterate that at this point, it's a very personal choice to decide whether to use 3.0 or 2.6. You don't run the risk of being left behind by taking a conservative stance at this point. 2.6 will be just as well supported by the same group of core Python developers as 3.0. At the same time, we're also not sort of deemphasizing the importance and quality of 3.0. So if you are not held back by external requirements like dependencies on packages or third party software that hasn't been ported to 3.0 yet or working in an environment where everyone else is using another version. If you're learning Python for the first time, 3.0 is a great way to learn the language. There's a couple of things that trip over beginners have been removed."
This discussion has been archived. No new comments can be posted.

The Evolution of Python 3

Comments Filter:
  • by NinthAgendaDotCom (1401899) on Monday January 12, 2009 @05:12PM (#26423083) Homepage

    I just started learning Python a few weeks ago when I got laid off from my QA job. I imagine I'm not to the point yet where the language differences between 2.x and 3.x are going to matter?

  • by joetainment (891917) on Monday January 12, 2009 @05:17PM (#26423157)
    They will matter a little bit. Some very basic things (like the way the print function works) have changed. However, there's plenty of information on their website, and they've made tools to make migration easier. Those little problems should be easy enough to work around if you use 3.x, or you could keep using 2.x for a while until everything else catches up.
  • by zwekiel (1445761) on Monday January 12, 2009 @05:50PM (#26423627)
    I think that whenever a group releases a new version of their language, they should strive to make it (mostly) backwards compatible. Not only does Python 3.0 change the way things work in relation to specific function, but it also removes specific language conventions and creates new ones in their places. This means that very large projects have a lot of work to do to bring their project over to the new specification.

    The question is: is this work worth the upgrade to python 3.0? I'd say on the whole, the changes do not contribute enough to the usability of the language to make it ultimately a worthwhile transition to make. I haven't seen really any compelling features in Python 3.0 that would provide enough incentive for me to spend hours of grunt work making all my code workable in Python 3.0.

    </my two cents>
  • by ultrabot (200914) on Monday January 12, 2009 @06:07PM (#26423905)

    I think that whenever a group releases a new version of their language, they should strive to make it (mostly) backwards compatible.

    That's why they keep releasing 2.x versions that are backwards compatible.

    This means that very large projects have a lot of work to do to bring their project over to the new specification.

    Very large projects can stay with the 2.x series (along with a big portion of users) just fine.

    The question is: is this work worth the upgrade to python 3.0? I'd say on the whole, the changes do not contribute enough to the usability of the language to make it ultimately a worthwhile transition to make. I haven't seen really any compelling features in Python 3.0 that would provide enough incentive for me to spend hours of grunt work making all my code workable in Python 3.0.

    And you shouldn't, since it would probably be a waste of work. 2.x is a rock-solid series that is years away from obsolescense, and new serious projects started right now should pick 2.5 / 2.6. Try starting to use Py3 for projects where it fits - your command line scripts, self-contained internal applications... and ramp up the stakes when new libraries are ported.

    A programming language deserves a "cleanup" every now and then - this is such a thing. Hey, people have survived worse things, like gcc version changes, Qt3 => Qt4, Gtk 1 => Gtk2...

  • by Anonymous Coward on Monday January 12, 2009 @06:13PM (#26424029)

    Are Linux distributions that include packaged python versions and apps going to permit both 2.x and 3.x python versions to co-exist so all the apps (including local additions) don't have to be ported on the same day?

  • Re:Evolution? (Score:3, Interesting)

    by Anthony_Cargile (1336739) on Monday January 12, 2009 @08:16PM (#26425287) Homepage
    Hmm, thanks for that little tip. I still have the leaked NT code from around 2004, and linking to that (granted it remained the same) might just be a good practice for some POSIX-esque cross-windows features, perhaps even undocumented, in future apps. Thanks!
  • Re:Oh good. (Score:3, Interesting)

    by bitMonster (189384) on Monday January 12, 2009 @10:34PM (#26426813) Homepage
    Somebody wrote an encoding module to support braces in python code as kind of a joke. It's called pybraces [timhatch.com].

    The code that implements it is surprisingly short [timhatch.com].

  • by he-sk (103163) on Tuesday January 13, 2009 @02:40AM (#26428829)

    A good editor should re-indent the pasted code automatically. In VIM you can use :set ai, si.

Administration: An ingenious abstraction in politics, designed to receive the kicks and cuffs due to the premier or president. -- Ambrose Bierce

Working...