

Python 2.7.7 released - plessthanpt05
https://mail.python.org/pipermail/python-dev/2014-June/134694.html

======
niuzeta
huh, as a developer _thinking of starting Python_ , is python 2.X still
worthwhile to start with? The python.org even has a subsection for 'starting
with 2 or 3', and of course they promote 3, but recent posts have made me
think twice about starting with the newest.

~~~
BuckRogers
You definitely want 2.7. The best learning material is in 2.7 (LPTHW), all
libraries support 2.x but not 3.x, no PyPy that's not in beta, performance on
3.x is less than 2.7 and all online hosts are on 2.7 or earlier (Azure, Google
App Engine, etc). Most of the resources available online for help are 2.x.

Not to mention the unicode implementation is broken. I was just talking to a
Russian user (someone you'd assume would want unicode by default), and Python3
not operating on bytes by default is a mess. He can't move to Python3 due to
how unicode is implemented.

print sys.getdefaultencoding() # ascii

print locale.getpreferredencoding() # cp1251

print sys.stdout.encoding # cp866

print sys.getfilesystemencoding() # mbcs

#~ print u"кодировочка!"

#~ print u"кодировочка!".encode('cp866')

#~ print unicode(u"кодировочка!", 'cp1251')

#~ os.rename ('b', u'б')

In most things in life, you'd always want the 'latest version', it would be a
no-brainer. I wouldn't even bet on the transition to Python3 succeeding until
it has- it's been 6 1/2 years already.

Use 2.7 and then move to 3.x when and if it ever makes sense. It won't be hard
at all to switch as a user, that's not the problem.

~~~
ak217
Actually, Unicode handling is broken on Python 2, and works just fine on
Python 3. I'm also a Russian user :)

Your code doesn't make any sense. Care to comment on what it means?

Guido didn't do us any favors with his migration strategy, but Python 3.4 is a
substantially better and more modern language, so I would suggest developing
on it (it's supported out of the box on Ubuntu 14.04 LTS, for example). It's
true that app platform providers have not caught up yet, though.

~~~
dekhn
Yeah. I moved all code dealing with Unicode (in particular, parsing iTunes
track names) to Python 3. That was the one part of the language that worked
well for me- instead of utf8 codec hell, things just worked.

------
noselasd
Default to version 3. However you need to check these 2 things:

1\. Are the libraries you need available in python 3. (Most are, but there are
exceptions).

2\. What are you deploying on. There's still a lot of older RHEL/CentOS series
servers in production. At best the ops team will say "no" when you tell them
to install python 3.

~~~
malkia
For us, it's only if Autodesk (and other applications that bundle python) are
putting python 3 in their packages...

Oh, and our best python coders do not like 3 - I'm more of a lua/c person
myself so for me only the first point is important.

~~~
voltagex_
I'd be interested to know what they don't like about Python 3.

~~~
malkia
Most obviously - things that would no longer work in 3, that used to work in 2
- if that was not a problem, then it would've been an issue to switch (and the
performance is not worse than 2).

But I guess it's not that easy. Also the "C" api must be backward-compatible.

