tags:

views:

339

answers:

4

I learned Python as my first serious (non BASIC) language about 10 years ago. Since then, I have learned lots of others, but I tend to 'think' in Python. When I look at the list of changes I do not see one I need this feature. I usually say to myself, hmm that would been a good way of doing it, but why change it now?

Things like changing the default floor division could be a real pain to change for big projects. It seems like the major players are dragging their feet. What is the key feature that would make me want to invest in another learning curve?

+11  A: 

As a key feature, a lot of people seem to be pretty exited about (supposedly) transparent unicode support. They changed it from str (8-bit char array/default string type) and unicode (unicode string), to str (default (unicode compatable) string) and bytes (binary data as 8-bit 'string').

(I think seperation of byte lists from strings is great idea, but I also hate unicode, so if anything, this would be a worse for me personally.)

David X
+1. i hate dealing with mixed unicode and non-unicode strings.
Mark
Dealing with non-unicode strings in 2.X is a pain. Especially if you have to "upgrade" a program that was only written with the ascii character set in mind. I want to switch for this reason alone.
monkut
Yeah, I hate all this str/unicode mess and adopted "ALL strings should be unicode!" approach long time ago, but it still takes care to fix stuff i get from 3rd-party packages.
Daniel Kluev
I hope it works as well in practice as Tcl's unicode support. Coming late to the python party (having only a couple years under my belt) I was amazed at the lack of decent unicode support. Glad to see version 3 is stepping up to the plate.
Bryan Oakley
+3  A: 

A good discussion of this can be found in the python wiki; Should I use Python 2 or Python 3 for my development activity?

Noctis Skytower
Excellent Answer +2
1.01pm
This was copied from here: http://wiki.python.org/moin/Python2orPython3
interjay
Copied and formatted correctly for here. (-:
Noctis Skytower
Why did you delete the attribution added by another user?
interjay
(last edited 2010-07-06 21:48:55 by mobile-110-135) However, I was the last person to edit it since the formatting had to be added manually. Besides that, the wiki might change; this answer should remain constant.
Noctis Skytower
hahahahahahhah :) maybe a link would have been better but oh well
Matt Joiner
SO is not supposed to be a replacement for the entire internet. If you can't write your own answer a brief summation and a link would have been better than unattributed cloning..
APC
There is a difference between citing a *portion* of something (in the context of some of your own words), and simply copy and pasting a huge chunk of text (formatting it doesn't make it yours). This went far beyond that line, especially since you **deliberately** removed the attribution.
Marc Gravell
+1  A: 

Things like changing default floor division could be a real pain to change for big projects.

If you had started making the change 8 years ago when Python 2.2 was introduced with // and from __future__ import division, it wouldn't be a pain now. Personally, I'm glad to finally get rid of old-style division!

My second-favorite feature of Python 3.x is the str/bytes distinction. Besides making Unicode support easier, bytes is far more convenient for database BLOBs than buffer was.

dan04
A: 

On Teaching Programming With Python 3.0, though a bit dated, is one of the best articles I've read on the advantages of Py3k.

Tshepang