Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!ecngs!feeder2.ecngs.de!novso.com!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.004 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'yet.': 0.04; 'that?': 0.05; 'subject:Python': 0.06; 'ignored': 0.07; 'twisted,': 0.07; 'false.': 0.09; 'obstacles': 0.09; '\xe2\x80\x94': 0.09; 'cc:addr :python-list': 0.11; 'python': 0.11; 'django': 0.11; '2.7': 0.14; '"python': 0.16; "'cause": 0.16; "(it's": 0.16; '*real*': 0.16; '10.000': 0.16; '3.3,': 0.16; 'cc:name:python list': 0.16; 'ecosystem': 0.16; 'finney': 0.16; 'ported': 0.16; 'subject:edition': 0.16; 'unicodeerror': 0.16; 'url:appspot': 0.16; 'url:)': 0.16; 'wrote:': 0.18; 'library': 0.18; 'basically': 0.19; 'thu,': 0.19; 'example': 0.22; 'email addr:gmail.com>': 0.22; 'saying': 0.22; 'tests': 0.22; 'cc:addr:python.org': 0.22; 'certainly': 0.24; 'convenient': 0.24; 'regardless': 0.24; "haven't": 0.24; 'cc:2**0': 0.24; '>': 0.26; '(see': 0.26; 'header:In-Reply-To:1': 0.27; 'tried': 0.27; 'raise': 0.29; 'dec': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; 'easy,': 0.31; 'libraries': 0.31; 'obscure': 0.31; 'relies': 0.31; 'writes:': 0.31; 'probably': 0.32; 'could': 0.34; 'hundreds': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'doing': 0.36; "didn't": 0.36; 'possible': 0.36; 'too': 0.37; 'project': 0.37; 'being': 0.38; 'skip:& 10': 0.38; 'ben': 0.38; 'pm,': 0.38; 'skip:& 20': 0.39; 'bad': 0.39; 'supporting': 0.39; 'users': 0.40; 'how': 0.40; 'even': 0.60; 'easy': 0.60; 'most': 0.60; 'ago.': 0.61; "you're": 0.61; 'companies': 0.62; 'kind': 0.63; 'such': 0.63; 'different': 0.65; 'url:blogspot': 0.65; 'relatively': 0.65; 'wall': 0.65; 'here': 0.66; 'determine': 0.67; 'lack': 0.78; '10:32': 0.84; 'adoption': 0.84; 'modernizing': 0.84; 'now*': 0.84; 'subject:survey': 0.84; '-\xc2\xa0': 0.91; 'migrating': 0.91; 'wanting': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=SRvY1PIVdTXQNa8nvuY+d1PhrGenO3l0yUhZSxGX840=; b=Yh6NwXcDkbTUi0iaAN3R8SRJI1BymhwzZsMXbKitLq965EIwzS3tfe6PCMJaiKKlCE 0y3l0Y1t47nCLwqN1pOnG/nLR4qZROWGon2KJ4wy+cIhO8phVus/qvhITfHN15TLJ8eM sqekUKBXsLSr1AOX3Ri67I3R+RL8acNrsDKe15YXu9AIK69O06rikZMqIhC9j7Dd5+kb SJTzeu0bYFxphYFQprPNy4KyvF1Jyayy44v/5xh3u3vF71yAGZgMK5zvx0onDtP7Gmn5 eVF0bDpI+N0rpDBXYkN32388S/vtGaXl4vU0QeSlUZv6R/LeuL0cTUV9DBmICCcQ7NVj RUXQ== X-Received: by 10.152.19.71 with SMTP id c7mr20722411lae.79.1418479654233; Sat, 13 Dec 2014 06:07:34 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <85bnn9hnzh.fsf@benfinney.id.au> References: <85bnn9hnzh.fsf@benfinney.id.au> From: "Giampaolo Rodola'" Date: Sat, 13 Dec 2014 15:07:13 +0100 Subject: Re: Python 2.x and 3.x use survey, 2014 edition To: Ben Finney Content-Type: multipart/alternative; boundary=089e01494302e96f51050a1987fe Cc: Python List X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 127 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1418479662 news.xs4all.nl 2947 [2001:888:2000:d::a6]:59841 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:82479 --089e01494302e96f51050a1987fe Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Thu, Dec 11, 2014 at 10:32 PM, Ben Finney wrote: > > "Giampaolo Rodola'" writes: > > > I still think the only *real* obstacle remains the lack of important > > packages such as twisted, gevent and pika which haven't been ported > > yet. > > What disqualifies other obstacles from being =E2=80=9C*real* obstacles=E2= =80=9D? How do > you determine that? > > > With those ones ported switching to Python 3 *right now* is not only > > possible and relatively easy, but also convenient. > > If my program relies on an obscure library =E2=80=98foo=E2=80=99, and tha= t library is > not ported to Python 3, switching to Python 3 is not feasible, and > certainly not convenient =E2=80=94 regardless of the status of =E2=80=9Ci= mportant > packages such as twisted, gevent, and pika=E2=80=9D. > > So your assertion here is plainly false. > > What is it you're actually wanting to say? What I'm saying is that for a very long time a considerable number of libraries haven't been ported to python 3 and that lasted for years, say until Python 3.3, or until Django started supporting Python 3, which happened less than a year ago. Names such as Twisted, gevent, eventlet, python-daemon and paramiko means that literally hundreds of thousands of users cannot even think about migrating *right now*: they're just stuck. My perception is that for way too long Python 3 was kind of ignored by some of the most important library vendors and it (partially) still is, and that's what is affecting Python 3 adoption the most. Try to take a look at how many missing dependencies a project such as OpenStack still has: http://stackoverflow.com/questions/20075574/finding-which-packages-support-= python-3-x-vs-2-7-x/22113627#22113627. OpenStack is probably a bad example 'cause it's *huge*, but when the missing deps have hundreds of thousands of user (see https://python3wos.appspot.com/) it is very easy to hit one of those and remain stuck even if your project is a lot smaller. I personally tried to migrate 2 medium-sized (> 10.000 LOC) projects at work for 2 different companies and what I ended up doing was modernizing the code so that both 2.7 and 3.3+ interpreters could execute it and tests didn't raise any "python-related error" (SyntaxError, TypeError, UnicodeError or whatever), but I punctually hit the wall of 1, 2 or 3 missing dependencies. So basically both of these 2 projects are "python 3 ready" but since the library ecosystem is not I just "wait" (it's been a year now). --=20 Giampaolo - http://grodola.blogspot.com --089e01494302e96f51050a1987fe Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Thu, Dec 11, 2014 at 10:32 PM, Ben Finney <ben+python@benf= inney.id.au> wrote:
"Gi= ampaolo Rodola'" <g.rodol= a@gmail.com> writes:

> I still think the only *real* obstacle remains the lack of important > packages such as twisted, gevent and pika which haven't been porte= d
> yet.

What disqualifies other obstacles from being =E2=80=9C*real* obstacl= es=E2=80=9D? How do
you determine that?

> With those ones ported switching to Python 3 *right now* is not only > possible and relatively easy, but also convenient.

If my program relies on an obscure library =E2=80=98foo=E2=80=99, an= d that library is
not ported to Python 3, switching to Python 3 is not feasible, and
certainly not convenient =E2=80=94 regardless of the status of =E2=80=9Cimp= ortant
packages such as twisted, gevent, and pika=E2=80=9D.

So your assertion here is plainly false.

What is it you're actually wanting to say?

<= div>What I'm saying is that for a very long time a considerable number = of libraries haven't been ported to python 3 and that lasted for years,= say until Python 3.3, or until Django started supporting Python 3, which h= appened less than a year ago. Names such as Twisted, gevent, eventlet, pyth= on-daemon and paramiko means that literally hundreds of thousands of users = cannot even think about migrating *right now*: they're just stuck. My p= erception is that for way too long Python 3 was kind of ignored by some of = the most important library vendors and it (partially) still is, and that= 9;s what is affecting Python 3 adoption the most. Try to take a look at how= many missing dependencies a project such as OpenStack still has:=C2=A0http://stackoverflow.com/ques= tions/20075574/finding-which-packages-support-python-3-x-vs-2-7-x/22113627#= 22113627. OpenStack is probably a bad example 'cause it's *huge= *, but when the missing deps have hundreds of thousands of user (see https://python3wos.appspot.com/) = it is very easy to hit one of those and remain stuck even if your project i= s a lot smaller. I personally tried to migrate 2 medium-sized (> 10.000 = LOC) projects at work for 2 different companies and what I ended up doing w= as modernizing the code so that both 2.7 and 3.3+ interpreters could execut= e it and tests didn't raise any "python-related error" (Synta= xError, TypeError, UnicodeError or whatever), but I punctually hit the wall= of 1, 2 or 3 missing dependencies. So basically both of these 2 projects a= re "python 3 ready" but since the library ecosystem is not I just= "wait" (it's been a year now).

-- =
Giampaolo -=C2=A0<= a href=3D"http://grodola.blogspot.com" target=3D"_blank">http://grodola.blo= gspot.com

--089e01494302e96f51050a1987fe--