Python 3000 has officially been released. The final bug, Issue2306, “Update What’s new in 3.0” has been closed. Python 3000, py3k, Python 3.0, is a major release for the community. [Jeremy Hylton] pegs the earliest mention of the beast to January 2000. The new release has grown from PEP 3000, opened April 2006.
Py3k breaks backwards compatibility with previous releases in order to reduce feature duplication and promote one obvious way of getting things done. The first major change is that print
is now a builtin function and not a statement. int
and long
have been unified, and integer division now returns a float. Py3k uses concepts of “text” and “data” instead of “Unicode strings” and “8-bit strings”. You can read about many of the changes in What’s New In Python 3.0. Some new features have been backported to Python 2.6 so you can start implementing them in your current code to ease the transition. 2.6 also has the -3
command line switch to warn you about features that are being removed or changed. Finally, the tool 2to3 is a source-to-source translator that should automate a lot of the changes.
Documentation for the new release is online. Source packages and binaries are available now.
[via johl]
“Py3k breaks backwards compatibility” — ah, I loves me some non-backwards compatible releases :D ’cause remember people, backwards compatibility lead to what’s today known as microsoft.
Backward compatibilty isn’t an issue as more than one instance of python can exist at the same time.
I just makes the newer apps more performant that way.
“backwards compatibility lead to what’s today known as microsoft.”
Huh? Have you tried Office 2007?
1) I agree wholeheartedly with Pascal, it’s great that we can break version compatibility between releases. (NB “We” is just “the community”, I am not involved with Python or anyone you know about).. Of course, Microsoft is compelled to keep it compatible to some extent so that we don’t cry and swtich to Linux or Mac – enough of our programs break for a new version of Windows as it is!
Python can break compatibility between releases because it is MORE AWESOME than Windows (and not an operating system)
2) I’m glad that it’s finally here!! Not that I write python (debug/hack/monkey patch maybe, actually write no) but it’s always seemed like a step forward and it’s great that they completed it!
backwards compatibility lead to what’s today known as microsoft.
have a look over at Apple’s stable if you want to talk about orphaned applications. MS isn’t even close to bad.
Tom, have you tried OpenOffice?
Can we do emacs vs. nano next? (I’ll throw in for kwrite.)
I heard that Python 3.0 was a lot slower too. That combined with loss of backward compatibility is a big black eye
http://docs.python.org/dev/3.0/whatsnew/3.0.html#performance
10% slower than 2.5 according to that. when you take into account the major internal changes, performance was not the main objective of this release.
Keep your hands off my print statements!
Now – all print statements have to be
changed to print()!?! Why? This is typically hundreds of lines in a program… What a waste of time, for no good reason whatsoever.
screwdriver: who exactly is forcing you to upgrade?
Also I’m sure you can find a way to automate this procedure.
And still no way to enforce variable/function declarations? Come on, even perl has a strict pragma.
Hooray for purity! I’m glad they’re breaking backwards compatibility. If you want print statements go back to BASIC.
marco, what the hell are you talking about?
jproach: In a few years, you wil HAVE to upgrade,
because 2.x will not be supported (or available) anymore. Then,
you have to modify your old code… Very
annoying.
bugloaf: if you want print(), maybe you should go back to C… Why was print acceptable up to now, and suddenly it is not? “Me thinks” someone
just far**d this one out when they fell on a
keyboard.