On Wed, Jan 1, 2014 at 2:41 AM, Roy Smith <r...@panix.com> 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. ChrisA -- https://mail.python.org/mailman/listinfo/python-list