The real problem with Python 3 - no business case for conversion (was "I strongly dislike Python 3")

John Nagle nagle at animats.com
Fri Jul 2 15:07:33 EDT 2010


David Cournapeau <cournape at gmail.com> wrote:
> I think one point which needs to be emphasized more is what does
> python 3 bring to people. The" what's new in python 3 page" gives
> the impression that python 3 is about removing cruft. That's a very
> poor argument to push people to switch.

    That's the real issue, not parentheses on the "print" statement.
Where's the business case for moving to Python 3?   It's not faster.
It doesn't do anything you can't do in Python 2.6.  There's no
"killer app" for it. End of life for Python 2.x is many years away;
most server Linux distros aren't even shipping with 2.6 yet. How can a
business justify spending money on conversion to Python 3?

    If Python 3 came with Unladen Swallow, and ran several times
faster than Python 2.x, there'd be a strong business case for
conversion.  Especially for large sites with racks of servers
grinding through slow CPython code.  But it looks like Unladen
Swallow will be available for 2.6 before it's available for 3.x.
So that's not a selling point for 3.x.

    Python 3 is a nice cleanup of some legacy syntax issues.  But
that's just not enough.  Perl 6 is a nice cleanup of Perl 5, and
look how that went.  Ten years on, it's not even mainstream, let
alone dominant.

    This has all been said before. See "Python 3.0: What’s The Point?"
from December 2008:

http://jens.mooseyard.com/2008/12/python-30-whats-the-point/

    Not much has changed since then.

    What I'm not seeing is a deployment plan along these lines:

    1.	Identify key modules which must be converted before Python 3
	can be used in production environments.

    2.	Get those modules converted to Python 3.

    3.	Put together a distribution for the major platforms (at least
	Linux and Windows) with builds of those modules.  This
	could be done on PyPi, which is at present is mostly a link
	farm, not a repository.

    4.	Get some major distros, like Debian and ActiveState, to
	include Python 3, as "python3", not as the primary Python,
	so there are no conflicts.  (Debian already has a formal
	policy to keep Python versions separate.)

    5.	Get at least two major hosting services to put up Python 3.

    6.	Get at least two popular end-user programs (not modules) to
	support Python 3.

    7.	Publicize some success stories.

Unless the Python 3 enthusiasts get their act together and work much
harder on providing an easy transition experience, it's not going to
happen.

				John Nagle




More information about the Python-list mailing list