views:

2751

answers:

24

Python 3.x (aka Python 3000, Py3k, etc) is now available. When and why are you planning on porting your project or code to the new Python?

edit: I'm particularly interested in any features that don't exist in 2.6 that make porting worth it. Right now seems like a lot of negatives (x hasn't been ported yet), but I don't know what people see as the positives. Regarding "when", I'm interested in people's thoughts that the first step to porting is to have "excellent test coverage" which seems a bit optimistic for some projects.

+14  A: 

The when and why are the same for me. When there is a feature in 3.0 that I need, which does not have an equivalent in 2.6. The problem with being on the bleeding edge, is that its bloody.

Edit:

After reading your edit, and http://docs.python.org/3.0/whatsnew/3.0.html (Thanks Brian R. Bondy), I see no compelling features in 3.0 which would make me port from 2.6. Of course as it matures and becomes 3.1, 3.2, etc. I am sure some feature will arise that I feel I must have.

Having said that the only negative I see in 3.0 is the non-truncating behavior of 4/3. I don't think it is bad in and of itself, but I do think it will take me a while to remember to use 4//3.

grieve
Actualy, there are a lot of things you can `import from future` right now in `2.6`. The greatest thing about `3.0` are `unicode` strings by default, that for programmers outside English speaking countries need to master, and those that *do* live in English speaking countries usualy forget about (making some interesting bugs by forgeting to encode/decode that are hard to debug). **That** is the reason I'd love to move to `3.0` *right now*.
voyager
+6  A: 

When MYSQLdb has been ported. :)

Emil H
+4  A: 

already have

SilentGhost
The question is looking for good reasons to upgrade. Who cares if you did? If your reason was only because you could easily do so, nobody cares.
Ed Swangren
well, the question shouldn't look for any reasons to upgrade to begin with.
SilentGhost
+1: "why" goes without saying -- change is good, where good == inevitable (thanks @Alex)
S.Lott
why the downvote?
SilentGhost
@SilentGhost, how helpful is that Answer? Seems to me OP is asking someone who hasn't migrated yet.
Tshepang
@Tshepand: how helpful is this question? Why would the time and reasons for **my** (or anyone else) upgrade be of any interest to the OP?
SilentGhost
A: 

Apres le deluge... Or perhaps whenever my system administrator installs it. I would like to use it because change is good, and by good I mean inevitable.

Alex
+2  A: 

My roguelike game is written to 2.5 and I'll probably keep it there for the foreseeable future for the sake of the four or five people who play it :P

For my personal stuff, I plan to switch 3.0 posthaste since it's the wave of the future.

I have some scripts at work that run on IronPython so whenever that project is 3.0 compatible I'll probably start moving them over.

Dana
I love Roguelikes--link please?
TorgoGuy
http://crashrun.org/ (It's very incomplete, just to warn you!)
Dana
+2  A: 

I'm waiting at least one calendar year from the initial release of Py3k just to make sure its stable enough for production use... been burned to many times jumping to the next generational release. As it stands I don't have a need for anything in Py3k yet for my projects.

Other things holding me off: All the libraries I depend on to transition first.

David
+3  A: 

Not anytime soon. Right now some modules aren't even ported to 2.6. Py3K rules, but language without libraries is useless.

vartec
+1  A: 

When Setuptools have been ported - how else am I going to deploy my stuff!

Salim Fadhley
+12  A: 

The big "why" is sane Unicode support. 90% of the python I write is one-off scripts, so there is no "when" for me. I use them both.

recursive
How is Unicode support saner? This is an honest question. Renaming str to bytes and unicode to str makes the handling more obvious, but having written a lot of Unicode handling in Python, I don't see that they actually made it easier.
Joe
Don't have space to list them here, but check this list: http://docs.python.org/dev/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
recursive
+3  A: 

I'm currently still learning Python using 2.6 so probably not for a while. Once I feel comfortable using 2.6 without having to resort to asking for help as frequently I will probably try to understand the changes used in 3.0 and see how I do with that. So:

When: Once I am able to use 2.6 proficiently with minimal help and a better understanding. Why: Solely because understanding how to use 3.0 as well as 2.6 will help if I were to look for a job and it requires knowledge of one but not the other.

JMV
+2  A: 

At least not before Python 2.6 is available on the Linux distribution I am using. After that I need to think how to proceed.

Having also 3.0 available from the Linux distribution would help.

iny
In OpenSUSE 11.1 I've got both.
vartec
+1 I feel your pain (on Gentoo)
David Zaslavsky
+1  A: 

When and why are you planning on porting your project or code to the new Python?

When all of its dependencies will be ported to 3.0 and will be stable.

Anonymous
*all of its dependencies* is a big sample. *I* will when the dependencies that *I* use are ported :)
voyager
+19  A: 

when Django does

Javier
We're on the exact same "when Django does" path.
S.Lott
Same here.Django makes Python really worth it.
jpartogi
@jpartogi: Python makes Django possible.
voyager
A: 

When SQLAlchemy has been ported and has had some time to bake. The feature I'm most looking forward to is the change so that strings are all Unicode.

Jacob Gabrielson
+11  A: 

Once numpy and scientific python have been ported....but that Looks like it could be a long time coming.

Randle Taylor
A: 

I like Python 3.0's features a lot, but I simply can't migrate until, at the very least, Twisted, SQLAlchemy, PyOpenSSL, Setuptools and PyCrypto are stable on 3.0. Several of 3.0's features have been back-ported to 2.6, making the transition less urgent.

DNS
+1  A: 

As with everyone else, I am waiting for my favourite modules to upgrade before I do. In my case, pygame. Until then, I am sticking with 2.5.

Nikwin
+3  A: 

When <insert c library binding here> gets ported. In my case PyGTK.

Ali A
+2  A: 

PyQt4 is a must for me.

Trey Stout
A: 

when everyone else is moved

M. Utku ALTINKAYA
A: 

I really like the Unicode support, and that alone is enough reason to move. When to move?..is a tough question. As an application developer it is not feasible for me to move till the frameworks (Django, web.py), and 3rd party packages I use have been ported and tested.

I plan to evaluate migration costs when these packages have moved and are stable. Till then I am sleeping over this question. :-)

Chirayu Patel
+1  A: 

I have upgraded.

I like the new features in Python 3.

For example 1/3 will return 0.3333333, a float. I also like the fact that no more long, but only int exists. Last but not least, map() and filter() return iterators instead of lists. Isn't working with iterator better than list?

By the way, my programs do not depend on any third party modules, except the one that comes with Python.

Selinap
A: 

I think I'll move when numpy, matplotlib, and wxPython get 3.0 support.

Kit
A: 

When the default install of most GNU/Linux distros does.

mkotechno