Path: csiph.com!usenet.pasdenom.info!gegeweb.org!newsfeed0.kamp.net!newsfeed.kamp.net!feeder1.cambriumusenet.nl!feed.tweaknews.nl!194.109.133.83.MISMATCH!newsfeed.xs4all.nl!newsfeed4a.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!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.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'subject:: [': 0.04; 'interpreter': 0.05; 'subject:Python': 0.06; '(using': 0.07; 'see:': 0.07; 'migration': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; "wouldn't": 0.14; 'cc:name:python list': 0.16; 'interpreter,': 0.16; 'route,': 0.16; 'subject:Dev': 0.16; 'subject:edition': 0.16; 'url:appspot': 0.16; 'url:svn': 0.16; 'ignore': 0.16; 'wrote:': 0.18; 'thu,': 0.19; 'subject:] ': 0.20; 'written': 0.21; 'cc:addr:gmail.com': 0.22; 'saying': 0.22; 'cc:addr:python.org': 0.22; '2.x': 0.24; "aren't": 0.24; 'url:moin': 0.24; "i've": 0.25; 'header:In-Reply-To:1': 0.27; 'am,': 0.29; "doesn't": 0.30; 'cc:2**2': 0.30; 'change,': 0.30; 'dec': 0.30; 'important.': 0.30; 'message-id:@mail.gmail.com': 0.30; 'code': 0.31; 'url:wiki': 0.31; 'usually': 0.31; '3.x': 0.31; 'bad.': 0.31; 'gather': 0.31; 'libraries': 0.31; 'perl': 0.31; 'option': 0.32; 'run': 0.32; 'url:python': 0.33; 'running': 0.33; 'but': 0.35; 'received:google.com': 0.35; 'url:org': 0.36; 'anything': 0.39; 'either': 0.39; 'to:addr:gmail.com': 0.65; 'world': 0.66; 'believe': 0.68; 'alone.': 0.84; 'subject:survey': 0.84; 'migrating': 0.91; 'incredibly': 0.96; 'wholesale': 0.96 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=qbmUaRm/Jom6GoWRuPN2Dd99ygsNADH6iHDwnBtbpRI=; b=vPCm3NF4E/gWoZKG4eIHmiBG5gMDJkSvfK2wKBPLh29g0CCB4IEz7yroQV1huxImsz aR4N9mm2o4tPzbm5OaC+nzsw1aTaOn50sia03JmkbuJG7AAUt/Zy66TCylKwe+EpjnA2 OiQaE5xKfS6L3BIX+ugSwV2MJsZpVyg2VmKrVj15gLrhOQu4Avd9zb3/O2ZGItA2OH+d REmR4XeffnNJeVsIHWINdtZFJ6g6S2z7F2lM5xKHuQyAfm1H7vYCvfaRFjHGvKIfL6NJ zHDA4fu7+Gk0EQ3G66Sq2khhED4s99iZBHUk97j7vSl8QDDC7vFw1zYjo94urM23spH+ gsFQ== MIME-Version: 1.0 X-Received: by 10.112.142.197 with SMTP id ry5mr11978909lbb.26.1418328857022; Thu, 11 Dec 2014 12:14:17 -0800 (PST) In-Reply-To: References: Date: Thu, 11 Dec 2014 12:14:16 -0800 Subject: Re: [Python-Dev] Python 2.x and 3.x use survey, 2014 edition From: Dan Stromberg To: Mark Roberts Content-Type: text/plain; charset=UTF-8 Cc: Dan Stromberg , Python List , python-dev 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: 26 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1418328865 news.xs4all.nl 2836 [2001:888:2000:d::a6]:57945 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:82380 On Thu, Dec 11, 2014 at 11:35 AM, Mark Roberts wrote: > I disagree. I know there's a huge focus on The Big Libraries (and wholesale > migration is all but impossible without them), but the long tail of > libraries is still incredibly important. It's like saying that migrating the > top 10 Perl libraries to Perl 6 would allow people to completely ignore all > of CPAN. It just doesn't make sense. Things in the Python 2.x vs 3.x world aren't that bad. See: https://python3wos.appspot.com/ and https://wiki.python.org/moin/PortingPythonToPy3k http://stromberg.dnsalias.org/~strombrg/Intro-to-Python/ (writing code to run on 2.x and 3.x) I believe just about everything I've written over the last few years either ran on 2.x and 3.x unmodified, or ran on 3.x alone. If you go the former route, you don't need to wait for your libraries to be updated. I usually run pylint twice for my projects (after each change, prior to checkin), once with a 2.x interpreter, and once with a 3.x interpreter (using http://stromberg.dnsalias.org/svn/this-pylint/trunk/this-pylint) , but I gather pylint has the option of running on a 2.x interpreter and warning about anything that wouldn't work on 3.x.