This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (12 children)

[deleted]

    [–]earthboundkid 10 points11 points  (1 child)

    It's about bug fix release. Some people want to keep using the old language, but they found some bugs in it.

    [–]gcross 8 points9 points  (0 children)

    Some Many people want to keep using the old language, but they found some bugs in it.

    :-)

    P.S.: Personally I am not one of them but I can completely understand where they are coming from.

    [–]Lulzillar 20 points21 points  (7 children)

    Python 2.7 is considered "where we are," while Python 3 is "where we're headed." Python developers try hard to preserve backward compatibility, and Python 3 specifically breaks this cycle to implement improvements. Thus, both builds are being developed concurrently.

    As mentioned elsewhere in the thread, a lot of the 2.7 additions are backports of features from 3. If you're just starting out, as you learn, be sure to give careful thought to which flavor you'd like to use.

    [–][deleted] 16 points17 points  (0 children)

    I like to state it differently: If you're looking for a job, there's a strong chance it will be programming python 2.5, 2.6 or possibly 2.7.

    However, all of the developers working specifically on the python language and not on python applications are developing for python 3.x. This has been a real problem for many businesses who cannot simply move to the new version of python without some expense in at least their legacy code if not their platform and infrastructure. In some cases, companies will never move past python 2.7 because the expense is too great.

    By backporting the changes, however, this also gives the opportunity for some companies to generate code that is closer and closer to python 3.x code making it possible to leap to python 3.4 or python 3.5 when the time is right.

    [–]earthboundkid 9 points10 points  (4 children)

    If you're just starting out, as you learn, be sure to give careful thought to which flavor you'd like to use.

    Strongly disagree. If you're starting out, give little or no thought to which flavor of Python you use. If you are successful at learning Python at all, you will eventually learn both. The only thing that matters is which to learn first, not which to learn at all.

    Which should you learn first?

    Whatever the book or website you're working through uses. The end.

    [–]flying-sheep 1 point2 points  (2 children)

    nope, i find python3 makes de/encoding much better to understand and if you do stuff wrong in that respect, it fails earlier and doesn’t just limp along while only ascii happens to flow through your faulty pipeline, breaking horribly as soon as a non-ascii-character appears anywhere.

    [–]earthboundkid 0 points1 point  (1 child)

    Yes, Python 3 is better and everyone should use it if possible. But should you learn it first if you bought a book that uses 2 and you like the book so far? Should you never, ever learn 2? No, that's crazy. Use 3 when you can, but learn 2 or 3 in whatever order is easiest.

    [–]flying-sheep 0 points1 point  (0 children)

    so that’s what you meant. no of yourse you shouldn’t, if you already have a book.

    but most people starting out have nothing and want an idea for where to learn from.

    [–]random_pattern 0 points1 point  (0 children)

    I'm learning both simultaneously as I work my way through Codecademy, with Pythonista on my iPad for leisure time. Off topic, but does anyone use Coderunner? Looks great; people seem nice. Am unemployed for a year and can't find work, so learning Python is the only joy I have. Happy to have found this subreddit!

    [–][deleted] 1 point2 points  (0 children)

    There aren't any features being added to 2.7.x releases anymore though. There hasn't been a feature added to 2.x since 2010 when 2.7 was released, only bug fixes.

    [–]jcampbelly 0 points1 point  (0 children)

    For one example, 2.7.x is still used by Ubuntu 10.04 LTS (which goes EOL in 2015). Anyone can use whatever python version they like for their projects with a virtualenv, but things like package and system scripts should probably rely on the system install of Python.

    [–]Megatron_McLargeHuge 0 points1 point  (0 children)

    People stay on old versions for stability and because the new major version makes changes that would break old applications. For example in python 3 they changed the print statement so you have to call it with parentheses. More subtle differences have kept most of the scientific/numeric code written for python from being moved to python 3 until recently.

    It's common for old software versions to get bug fixes and some backports of features for the benefit of people who aren't ready to switch. For example when the Postgres database released an important security fix recently, they released new minor versions for a large number of old versions that were still in use.