Which Version of Python?

Ben Finney ben+python at benfinney.id.au
Tue Sep 11 19:55:07 EDT 2012


"Charles Hottel" <chottel at earthlink.net> writes:

> I have a lot of programming experience in many different languages and now 
> I want to learn Python.

Good for you, and welcome!

> Which version do you suggest I download, Python 2.x or Python 3.x ?
> Also why should I prefer one over the other?

This question is a good one. It is common enough that the home page
<URL:http://www.python.org/> has a link to the community's
answer/discussion at <URL:http://wiki.python.org/moin/Python2orPython3>.

> Right now I am thinkng Python 3.x as it has been out since 2008, but I
> have some concerns about backward compatibility with older packages
> that I might want to use.

The fact that Python 3 has been out for a number of years is important,
as is the fact that the Python developers and the community of
third-party library developers have worked quite hard to make it
feasible to work in Python 3.

More important, from the perspective of a newcomer, is that Python 2 is
essentially in maintenance-only mode, receiving only bug fixes. All
larger improvements are only going into Python 3.

The set of third-party libraries which are not ready for Python 3 still
has some significant members, and will certainly never be zero. But that
set has shrunk significantly in the many years that Python 3 has been
active.

At this stage, I would advise any person wanting to learn Python qua
Python (i.e. without considering the wrinkles of some specific task) to
focus on Python 3. If you need to learn older versions, that need will
present itself and you can learn the legacy quirks then; for now, learn
Python the way it is intended to be by going for Python 3.

-- 
 \      “A lie can be told in a few words. Debunking that lie can take |
  `\   pages. That is why my book… is five hundred pages long.” —Chris |
_o__)                                                Rodda, 2011-05-05 |
Ben Finney



More information about the Python-list mailing list