Why Python3

Steven D'Aprano steve-REMOVE-THIS at cybersource.com.au
Mon Jun 28 03:46:41 EDT 2010


On Sun, 27 Jun 2010 21:25:49 -0700, John Nagle wrote:

>     Unfortunately, that's not what's happening in the development
> pipeline.  PyPy targets Python 2.5. Unladen Swallow targets Python
> 2.6.1.  IronPython targets Python 2.6.  C module support for CPython 3.x
> is still very spotty.  We have a long way to go before Python 3.x is
> ready for prime time.

None of PyPy, Unladen Swallow or IronPython are dependencies for Python 
3.x to be "ready for prime time". Neither is C module support.

Python 3.1 itself is solid, reliable release of the Python language. It 
and the standard library are more than ready to be put into production.

Of course, if you personally require some C module "ham" which only 
supports 2.6, you'll have good reason to stick with 2.6. But then if your 
project absolutely depends on module "spam" which only supports Python 
1.5, you'll be still using Python 1.5. So what?

For the rest of us, you can do a lot with just Python 3.1, with or 
without C modules. Whether it does *enough* to be considered for 
deployment depends on what you're deploying it to do. I for one would not 
hesitate to use Python 3.1 as a scripting language, or for any 
application where the standard library is all you need. You can do a lot 
with just the standard library.

For the rest, the question isn't "is Python 3 ready for production?", 
because the answer for that is "absolutely". The question is, "are the 
libraries I need ready for Python 3?", and the answer to that is often 
No, but sometimes a provisional or experimental Yes.

Personally, I'm getting tired of all the negative nellies who seem to 
think that take up of Python 3 is a race, and that if anyone is still 
using 2.x by next Tuesday that means Python 3 is a failure and we should 
all just dump it as a bad idea. Python 3 uptake is not a race. Both 
Python 2.7 and 3.x will be supported for many years to come. If you can't 
use 3 *now*, that's fine, nobody says you should -- but by the same 
token, try to tone down the negativity.



-- 
Steven



More information about the Python-list mailing list