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

Discussion in 'Python' started by John Nagle, Jul 2, 2010.

  1. John Nagle

    John Nagle Guest

    David Cournapeau <> 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
    John Nagle, Jul 2, 2010
    #1
    1. Advertising

  2. On 07/02/2010 09:07 PM, John Nagle wrote:
    >
    > 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.


    That depends VERY strongly on the environment in question.

    >
    > 2. Get those modules converted to Python 3.



    The stdlib is there. The rocky bits are being fixed all the time. The
    other important modules all have strong development communities.
    Upstream numpy works with Python 3 already. (no release yet) That
    enables SciPy to update, which they will do.
    PyGObject is also working on Py3 support.

    >
    > 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.


    The use cases for Python being as diverse as they are, this is utter
    nonsense. Also, I myself see no benefit in making PyPI a mirror of
    everything, as opposed to a useful index of packages that you may or may
    not want to use.

    >
    > 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.)


    Current Ubuntu releases include Python 3.1 as /usr/bin/python3. So does
    Debian (not sure about stable at this point). I'm sure the other major
    Linux distributions are doing the same thing. It's happening!

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


    Apparently, some hosters already support Python 3. Web development is a
    bit of a weak spot at the moment though, and this is problematic, due to
    WSGI not being quite unicode ready.

    >
    > 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.


    It's not happening fast, it probably can't, but it *is* happening.
    Software distributions are including Python 3, and popular
    modules/packages are starting to support it. Other software is going to
    move on in its own time.
    Thomas Jollans, Jul 2, 2010
    #2
    1. Advertising

  3. John Nagle

    Carl Banks Guest

    On Jul 2, 12:07 pm, John Nagle <> wrote:
    >     This has all been said before.


    Yes, we know. And when no one did anything about it the first dozen
    times it's been said, it wasn't because we didn't hear it, it was
    because we didn't care. We still don't care now, and won't care no
    matter how many times you repeat it, because it's simply wrong. So,
    please do everyone a favor, and stop wasting your own time, and stop
    repeating this.


    Carl Banks
    Carl Banks, Jul 2, 2010
    #3
  4. John Nagle

    Aahz Guest

    In article <>, John Nagle <> wrote:
    >
    > 5. Get at least two major hosting services to put up Python 3.


    webfaction.com has python3.1
    --
    Aahz () <*> http://www.pythoncraft.com/

    "If you don't know what your program is supposed to do, you'd better not
    start writing it." --Dijkstra
    Aahz, Jul 2, 2010
    #4
  5. John Nagle

    John Nagle Guest

    On 7/2/2010 3:00 PM, Aahz wrote:
    > In article<>, John Nagle<> wrote:
    >>
    >> 5. Get at least two major hosting services to put up Python 3.

    >
    > webfaction.com has python3.1


    WebFaction's big thing is that they have a really good system for
    installing anything the user wants. They're doing semi-virtual machine
    hosting, where each user sees a somewhat different environment, but
    doesn't have their own copy of the Linux kernel. That's a nice
    advance in server management.

    Any user can install Python 3.x, but it's not there by default. See:

    "http://blog.webfaction.com/python-3-0-is-here"

    If that approach catches on, Python 3 deployment will be much easier.
    But for now, only a few smaller players like WebFaction are using it.

    John Nagle
    John Nagle, Jul 3, 2010
    #5
  6. Re: The real problem with Python 3 - no business case forconversion (was "I strongly dislike Python 3")

    On Fri, 02 Jul 2010 12:07:33 -0700, John Nagle wrote:

    > 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 you (generic you, not John specifically) can't, then don't. It's as
    simple as that. Stick with 2.6, or 2.7, or even 1.5 if that's the version
    you're using. A client of mine is still using 2.3. That's okay. It's
    allowed. If your business case is best satisfied by staying with 2.x
    until the sun burns out, more power to you.

    Just don't expect security upgrades (let alone functional upgrades) for
    more than a few years. If they are important to you, then *that's* your
    business case for upgrading.

    But if you're starting a new project, there is no cost of conversion.



    --
    Steven
    Steven D'Aprano, Jul 3, 2010
    #6
  7. John Nagle

    Aahz Guest

    In article <4c2e79d3$0$1663$>,
    John Nagle <> wrote:
    >On 7/2/2010 3:00 PM, Aahz wrote:
    >> In article<>, John Nagle<> wrote:
    >>>
    >>> 5. Get at least two major hosting services to put up Python 3.

    >>
    >> webfaction.com has python3.1

    >
    > Any user can install Python 3.x, but it's not there by default.


    Yes, it is. I logged into my webfaction shell, typed python3.1, and got
    a standard Python prompt, without doing anything whatsoever to make
    Python 3.1 available.

    > "http://blog.webfaction.com/python-3-0-is-here"


    Is there some reason you're using a broken URL format?

    > If that approach catches on, Python 3 deployment will be much easier.
    >But for now, only a few smaller players like WebFaction are using it.


    In the hosting space that makes Python available, WebFaction is hardly a
    smaller player.
    --
    Aahz () <*> http://www.pythoncraft.com/

    "If you don't know what your program is supposed to do, you'd better not
    start writing it." --Dijkstra
    Aahz, Jul 3, 2010
    #7
  8. John Nagle

    Terry Reedy Guest

    On 7/2/2010 3:07 PM, John Nagle wrote:

    > 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.


    False. One cannot run code in 2.6 that depends on bugfixes in 3.1. Nor
    can one run code with unicode identifiers.

    The exclusive new features in 3.1 and 3.2 are less than they might have
    been because the developers expended extra effort, now ended, to
    backport new things developed for 3.x. (One result was some neglect of
    the stdlib, which is now the focus of efforts.) One reason was to make
    porting to 3.x easier should one wish to do so. The other reason was to
    make some thing available should one wish not to do so. Using that extra
    effort as a reason to put down 3.x is not very gracious.

    > There's no "killer app" for it.


    For some, unicode identifiers are 'killer reason' to use 3.1.

    Anyway, can you name me a "killer app" for each and every version of 2.x?

    > End of life for Python 2.x is many years away;


    Given that 1.x is still used, so what?

    > most server Linux distros aren't even shipping with 2.6 yet. How can a
    > business justify spending money on conversion to Python 3?


    How can a business justify spending money on conversion to 2.0, 2,1,
    2.2, 2.3, 2.4, 2.5, 2.6, or soon, 2.7? Some cannot for some projects and
    have not.

    Enough with strawman arguments against claims no sensible person has
    made. Python3 was developed for new Python programmers and current
    programmers who wished to add or switch. It was developed for new code
    and old code that would benefit from the changes.

    --
    Terry Jan Reedy
    Terry Reedy, Jul 3, 2010
    #8
  9. Re: The real problem with Python 3 - no business case forconversion (was "I strongly dislike Python 3")

    On 2 Jul 2010 15:00:17 -0700
    (Aahz) wrote:
    > > 5. Get at least two major hosting services to put up Python 3.

    >
    > webfaction.com has python3.1


    So does http://www.Vex.Net/ so there's your two.

    --
    D'Arcy J.M. Cain <> | Democracy is three wolves
    http://www.druid.net/darcy/ | and a sheep voting on
    +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
    D'Arcy J.M. Cain, Jul 3, 2010
    #9
  10. John Nagle

    John Nagle Guest

    On 7/2/2010 9:10 PM, D'Arcy J.M. Cain wrote:
    > On 2 Jul 2010 15:00:17 -0700
    > (Aahz) wrote:
    >>> 5. Get at least two major hosting services to put up Python 3.

    >>
    >> webfaction.com has python3.1

    >
    > So does http://www.Vex.Net/ so there's your two.


    Not according to Vex's published package list:

    http://www.vex.net/info/tech/pkglist/

    They list packages only for Python 2.6.

    "vex.net" isn't exactly a major hosting service.

    John Nagle
    John Nagle, Jul 3, 2010
    #10
  11. John Nagle

    Nobody Guest

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

    On Fri, 02 Jul 2010 12:07:33 -0700, John Nagle 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?


    If you're going to be doing a lot of Unicode text processing, I would
    expect that using Python 3 would make the task somewhat simpler.
    Nobody, Jul 3, 2010
    #11
  12. Re: The real problem with Python 3 - no business case for conversion

    On Fri, 02 Jul 2010 22:40:34 -0700
    John Nagle <> wrote:
    > Not according to Vex's published package list:
    >
    > http://www.vex.net/info/tech/pkglist/


    As it says on that page it may not be up to date. Look at the
    generated list link. I guess I should update the static page as well.

    > "vex.net" isn't exactly a major hosting service.


    OK, I'll give you that. It is on the backbone of the net at 151 Front
    Street in Toronto, has almost 100% uptime and uses high speed servers
    but we don't have 15 layers of bureaucracy between the owner and the
    user and I certainly know of no "real" hosting provider that invites
    all their clients out for dinner once a year. And how can we be a real
    ISP when the president knows most of his clients on a first name basis?

    I know what being "major" means to the owners and stockholders but what
    features of being major matter to the client?

    --
    D'Arcy J.M. Cain <> | Democracy is three wolves
    http://www.druid.net/darcy/ | and a sheep voting on
    +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
    D'Arcy J.M. Cain, Jul 3, 2010
    #12
  13. Re: The real problem with Python 3 - no business case for conversion

    On Fri, 02 Jul 2010 22:40:34 -0700
    John Nagle <> wrote:
    > Not according to Vex's published package list:
    >
    > http://www.vex.net/info/tech/pkglist/


    Hold on. That *is* the generated list and Python 3.1 is on it. We
    have both 2.6 and 3.1. The 3.1 version is listed right below the 2.6
    one. The page is generated from pkg_info(1) and includes everything we
    have installed from FreeBSD ports.

    --
    D'Arcy J.M. Cain <> | Democracy is three wolves
    http://www.druid.net/darcy/ | and a sheep voting on
    +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
    D'Arcy J.M. Cain, Jul 3, 2010
    #13
  14. Re: The real problem with Python 3 - no business case forconversion

    On Sat, 03 Jul 2010 08:46:57 -0400, D'Arcy J.M. Cain wrote:

    > On Fri, 02 Jul 2010 22:40:34 -0700
    > John Nagle <> wrote:
    >> Not according to Vex's published package list:
    >>
    >> http://www.vex.net/info/tech/pkglist/

    >
    > Hold on. That *is* the generated list and Python 3.1 is on it. We have
    > both 2.6 and 3.1. The 3.1 version is listed right below the 2.6 one.
    > The page is generated from pkg_info(1) and includes everything we have
    > installed from FreeBSD ports.


    Pfft! Facts! You can prove anything you like with facts!


    --
    Steven
    Steven D'Aprano, Jul 3, 2010
    #14
  15. Re: The real problem with Python 3 - no business case for conversion

    * Steven D'Aprano, on 03.07.2010 16:24:
    > On Sat, 03 Jul 2010 08:46:57 -0400, D'Arcy J.M. Cain wrote:
    >
    >> On Fri, 02 Jul 2010 22:40:34 -0700
    >> John Nagle<> wrote:
    >>> Not according to Vex's published package list:
    >>>
    >>> http://www.vex.net/info/tech/pkglist/

    >>
    >> Hold on. That *is* the generated list and Python 3.1 is on it. We have
    >> both 2.6 and 3.1. The 3.1 version is listed right below the 2.6 one.
    >> The page is generated from pkg_info(1) and includes everything we have
    >> installed from FreeBSD ports.

    >
    > Pfft! Facts! You can prove anything you like with facts!


    :)

    --
    blog at <url: http://alfps.wordpress.com>
    Alf P. Steinbach /Usenet, Jul 3, 2010
    #15
  16. John Nagle

    Aahz Guest

    Re: The real problem with Python 3 - no business case for conversion

    In article <>,
    D'Arcy J.M. Cain <> wrote:
    >On Fri, 02 Jul 2010 22:40:34 -0700
    >John Nagle <> wrote:
    >>
    >> "vex.net" isn't exactly a major hosting service.

    >
    >OK, I'll give you that. It is on the backbone of the net at 151 Front
    >Street in Toronto, has almost 100% uptime and uses high speed servers
    >but we don't have 15 layers of bureaucracy between the owner and the
    >user and I certainly know of no "real" hosting provider that invites
    >all their clients out for dinner once a year. And how can we be a real
    >ISP when the president knows most of his clients on a first name basis?


    vex.net is Canada's Panix. ;-)
    --
    Aahz () <*> http://www.pythoncraft.com/

    "If you don't know what your program is supposed to do, you'd better not
    start writing it." --Dijkstra
    Aahz, Jul 3, 2010
    #16
  17. Re: The real problem with Python 3 - no business case for conversion

    On 03 Jul 2010 14:24:49 GMT
    Steven D'Aprano <> wrote:
    > Pfft! Facts! You can prove anything you like with facts!


    Argumentum ad Dragnet?

    --
    D'Arcy J.M. Cain <> | Democracy is three wolves
    http://www.druid.net/darcy/ | and a sheep voting on
    +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
    D'Arcy J.M. Cain, Jul 3, 2010
    #17
  18. John Nagle

    John Nagle Guest

    Re: The real problem with Python 3 - no business case for conversion

    On 7/3/2010 5:46 AM, D'Arcy J.M. Cain wrote:
    > On Fri, 02 Jul 2010 22:40:34 -0700
    > John Nagle<> wrote:
    >> Not according to Vex's published package list:
    >>
    >> http://www.vex.net/info/tech/pkglist/

    >
    > Hold on. That *is* the generated list and Python 3.1 is on it. We
    > have both 2.6 and 3.1. The 3.1 version is listed right below the 2.6
    > one. The page is generated from pkg_info(1) and includes everything we
    > have installed from FreeBSD ports.


    The base Python 3.1 is installed there, but without any modules.
    Below is the list of Python 2.6 modules installed. Search that
    page for "py3", and you get nothing.

    On a hosting service, a raw Python with none of those modules isn't
    very useful.

    This is what I mean about Python 3 not being ready for prime time.

    John Nagle

    Python packages on Vex:

    py26-MySQLdb-1.2.2 Access a MySQL database through Python
    py26-PyGreSQL-4.0,1 A Python interface to PostgreSQL, both classic and
    DP-API 2.0
    py26-gdbm-2.6.4 Python bindings to the GNU dbm library
    py26-psycopg-1.1.21_1 The high performance Python adapter for PostgreSQL
    py26-pyPgSQL-2.5.1_3 A Python DB-API 2 compliant library for using
    PostgreSQL databases
    py26-rrdtool_lgpl-1.0b1 Python interface to RRDTool, the graphing and
    logging utility
    py26-sqlite3-2.6.4_1 Standard Python binding to the SQLite3 library
    py26-asn1-0.0.9a_1 ASN.1 toolkit for Python
    py26-cElementTree-1.0.5_1 A fast C implementation of the ElementTree API
    py26-cheetah-2.2.1 HTML template engine for Python
    py26-elementtree-1.2.6_1 Container for hierarchical data structures
    written in Python
    py26-setuptools-0.6c11 Download, build, install, upgrade, and uninstall
    Python packages
    py26-statgrab-0.5 A set of Python bindings for libstatgrab
    py26-twisted-8.2.0 Metaport of Twisted, an event-driven networking engine
    py26-twistedCore-8.2.0 An asynchronous networking framework for Python -
    Core module
    py26-twistedFlow-8.0.0 Generator based asynchronous result flows
    py26-twistedRunner-8.2.0 Runner has process management, including an
    inetd replacement
    py26-zopeInterface-3.5.2 Zope.interface package from Zope 3
    py26-twistedMail-8.2.0 An SMTP, IMAP and POP protocol implementation
    with clients and servers
    py26-twistedPair-8.0.0 Twisted Pair can do low level TCP work

    py26-twistedWords-8.2.0 Twisted Words has more chat than you can handle

    py26-snmp-3.4.4 SNMP framework for Python
    py26-twistedSNMP-0.3.13 Twisted Python framework for doing SNMP stuff
    news
    py26-twistedNews-8.2.0 An NNTP protocol implementation with client and
    server
    py26-fail2ban-0.8.3_2 scans log files and bans IP that makes too many
    password failures.
    py26-openssl-0.8_1 Python interface to the OpenSSL library
    py26-paramiko-1.7.6 A python library for making SSH2 connections
    py26-posix1e-0.4.0 Python module for manipulating POSIX.1e ACLs
    py26-pycrack-0.5.1 Python bindings to cracklib
    py26-pycrypto-2.1.0_1 The Python Cryptography Toolkit
    py26-twistedConch-8.2.0 An SSH and SFTP protocol implementation with
    clients and servers
    py26-docutils-0.5 Python Documentation Utilities
    py26-dsv-1.4.0 A Python module to parse or write delimeter-separated
    (e.g. CSV) files
    py26-twistedLore-8.2.0 Documentation generator with HTML and LaTeX support
    py26-xml-0.8.4_2 PyXML: Python XML library enhancements
    py26-cherrypy-3.1.2 A pythonic, object-oriented web development framework
    py26-django-1.1.1 High-level Python Web framework
    py26-flup-1.0.2 Random assortment of WSGI servers, middleware
    py26-twistedWeb-8.2.0 An HTTP protocol implementation together with
    clients and servers
    py26-twistedWeb2-8.1.0 The next generation Web Server Framework built
    with Twisted
    John Nagle, Jul 3, 2010
    #18
  19. Re: The real problem with Python 3 - no business case for conversion

    On Sat, 03 Jul 2010 09:48:09 -0700
    John Nagle <> wrote:
    > The base Python 3.1 is installed there, but without any modules.


    We install modules as clients ask for them. No one has yet requested a
    Python 3 module.

    > On a hosting service, a raw Python with none of those modules isn't
    > very useful.


    Well, it isn't useless.

    --
    D'Arcy J.M. Cain <> | Democracy is three wolves
    http://www.druid.net/darcy/ | and a sheep voting on
    +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
    D'Arcy J.M. Cain, Jul 3, 2010
    #19
  20. John Nagle

    sturlamolden Guest

    sturlamolden, Jul 4, 2010
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Stefan Reich

    I strongly dislike Python 3

    Stefan Reich, Jun 26, 2010, in forum: Python
    Replies:
    1
    Views:
    296
    Lawrence D'Oliveiro
    Jun 27, 2010
  2. Thomas Jollans

    Re: I strongly dislike Python 3

    Thomas Jollans, Jun 26, 2010, in forum: Python
    Replies:
    52
    Views:
    1,498
    Chris Rebert
    Jul 2, 2010
  3. Stefan Reich

    Re: I strongly dislike Python 3

    Stefan Reich, Jun 26, 2010, in forum: Python
    Replies:
    5
    Views:
    382
    Stephen Hansen
    Jun 27, 2010
  4. Stephen Hansen

    Re: I strongly dislike Python 3

    Stephen Hansen, Jun 26, 2010, in forum: Python
    Replies:
    12
    Views:
    489
    Andreas Waldenburger
    Jun 27, 2010
  5. Terry Reedy

    Re: I strongly dislike Python 3

    Terry Reedy, Jun 27, 2010, in forum: Python
    Replies:
    43
    Views:
    1,160
Loading...

Share This Page