Blog "about python 3"

Chris Angelico rosuav at
Tue Dec 31 16:54:32 CET 2013

On Wed, Jan 1, 2014 at 2:41 AM, Roy Smith <roy at> wrote:
> To be honest, the "perceived added value" in 3.x is pretty low for us.
> What we're running now works.  Switching to 3.x isn't going to increase
> our monthly average users, or our retention rate, or decrease our COGS,
> or increase our revenue.  There's no killer features we need.  In
> summary, the decision to migrate will be driven more by risk aversion,
> when the risk of staying on an obsolete, unsupported platform, exceeds
> the risk of moving to a new one.  Or, there will be some third-party
> module that we must have which is no longer supported on 2.x.

The biggest killer feature for most deployments is likely to be that
Unicode "just works" everywhere. Any new module added to Py3 can be
back-ported to Py2 (with some amount of work - might be trivial, might
be a huge job), and syntactic changes are seldom a "killer feature",
but being able to depend on *every single library function* working
perfectly with the full Unicode range means you don't have to test
every branch of your code.

If that's not going to draw you, then yeah, there's not a lot to
justify switching. You won't get more users, it'll increase your costs
(though by a fixed amount, not an ongoing cost), and old code is
trustworthy code, new code is bug city.

> If I were starting a new project today, I would probably start it in 3.x.

And that's the right attitude (though I would drop the "probably").
Eventually it'll become more critical to upgrade (once Py2 security
patches stop coming through, maybe), and when that day does finally
come, you'll be glad you have just your 2013 codebases rather than the
additional ones dating from 2014 and on until whatever day that is.
The past is Py2; the future is Py3. In between, use whichever one
makes better business sense.


More information about the Python-list mailing list