7 ms·
That is pretty ridiculous. Pretty much all major libraries are Python 3 compatible and everyone is writing Python 3 (or should be). (Yes, I'm still on Python 2
by cdelsolar 10y ago
That is pretty ridiculous. Pretty much all major libraries are Python 3 compatible and everyone is writing Python 3 (or should be). (Yes, I'm still on Python 2 but moving soon).
- quotemstr 10y agoI've been writing Python 3 for years.
- coldtea 10y ago>and everyone is writing Python 3 (or should be) You'd be surprised. If anything, the numbers show the opposite. The vast majority of Python codebases, legacy or new, are 2.7 or older.
- dbaupp 10y agoWhich numbers? People keep saying things like that, but things like the Python 3 Wall of Superpowers https://python3wos.appspot.com/ https://python3wos.appspot.com/ don't seem to support it. Do you have something more concrete?
- coldtea 10y agoThe "Wall" is just numbers for Python3, without context for how it compares to Python 2. For 2.7 Pypy reported 419,227,040 downloads for 2016. At the same time, for ALL 3.x versions combined (up to 3.6) there are just: ~52 million downloads. That's 1/8th of the Python 2 downloads.
- LeifCarrotson 10y agoGiven that there are only 7.5 billion humans on the planet, and that rather significantly fewer than 1 in 20 people are PyPy-using developers, perhaps those numbers should be taken with a grain of salt? The message I would take from those statistics is that needing a fresh download of Pypy is less common among 3.x users than among 2.7 users, who apparently needed to reinstall from the web at least a few times a day during 2016.
- gsnedders 10y agoIt should be PyPI rather than PyPy in the parent, FWIW.
- coldtea 10y agoOops, mea culpa.
- coldtea 10y ago>Given that there are only 7.5 billion humans on the planet, and that rather significantly fewer than 1 in 20 people are PyPy-using developers, perhaps those numbers should be taken with a grain of salt? Those are not downloads of PyPi, but of packages. It's not like "number of downloads == number of individual developers". Those are packages, including package updates. A single developer can download 50 deps across his codebase, and update them to later versions 2-3 times a year.
- dbaupp 10y agoThat response is talking about something else because your original comment accidentally said "PyPy", which is an implementation of Python, instead of "PyPI", the package repository.
- orf 10y ago> A single developer can download 50 deps across his codebase, and update them to later versions 2-3 times a year. As if individual developers are the reason behind the bulk of the downloads. I wonder how many downloads Travis alone counts for? Your hate of Python 3 in every discussion about it is frankly baffling.
- coldtea 10y ago>As if individual developers are the reason behind the bulk of the downloads. I wonder how many downloads Travis alone counts for? Travis runs/tests user projects, so there's nothing about it that's especially partial to Python 2 over Python 3. >Your hate of Python 3 in every discussion about it is frankly baffling. Or, you know, my pragmatic assessment of its popularity. That you'd even use the word "hate" (when in fact, I like Python 3 over 2.7, even if its mostly tame updates over what 2.7 offers) shows that you're probably too partisan. I was enthused with Python 3 even when it was only a vision called Python3K back in 2000-ish. My personal preference has nothing to do with whether I see more people using it or not. The situation is not unlike the perennial "next year is when Linux dominates the desktop", which has been every year since 1999.
- lima 10y agoThe PyPy statistics aren't worth much since they're counting all sorts of automated downloads/dependencies/etc. That's why packages like supervisor and graphite - which aren't libraries - are among the top downloads.
- coldtea 10y ago>The PyPy statistics aren't worth much since they're counting all sorts of automated downloads/dependencies/etc. Those would exist for both 2.x and 3.x so it's not a differentiating factor.
- kstrauser 10y agoA huge confounding factor: newer Py3 codebases are more likely to be built with newer pipeline tooling like devpi (to cache PyPI downloads), wheel (to cache locally-built packages), and Docker (which caches all the things). Our legacy Python 2 build pipelines that we're actively moving off of hit PyPI far more often than our Py3 processes.
- coldtea 10y ago>A huge confounding factor: newer Py3 codebases are more likely to be built with newer pipeline tooling like devpi (to cache PyPI downloads), wheel (to cache locally-built packages), and Docker (which caches all the things). Maybe in your case, but from what I've seen, I seriously doubt use of Docker or Devpi makes any dent in newer Py3 codebase dependency downloads. Besides, tons of new codebases for greenfield projects are still done in 2.x Python. Not sure how it is in scientific computing area, but for enterprise/web apps, any company that has legacy 2.x code and libs in production (which is most of them) will continue to write new parts (including new projects) in 2.7 for compatibility with their Python production setup. 3.x is either from companies that didn't already have significant 2.x Python code in production (generally newer companies that for some reason went with Python instead of Node or Go that the cool kids use) or new programmers that just get started and start with 3.x.
- Certhas 10y agoThere's plenty of 2.7 out there, but we're moving over slowly, basically due to the nice function annotation/type checking work. That's to me the first really compelling reason to use the latter.
- lima 10y agoHell, even OpenStack (which is giant tangled mess of code written by like a few dozen teams) is making good progress.
- BuckRogers 10y agoThat's top-down change from the PSF/core dev team and some major library developers added dual 2/3 support. The users never arrived and it'll be 10 years Python3 has been available next December. I'd like to unify Python again but we as users didn't break it either. 10 years any reasonable person in charge would hang it up or change course. Grumpy is pretty much what most everyone would actually want out of a new Python and may have arrived just in time.
- lima 10y ago> some major library developers added dual 2/3 support > The users never arrived That's the way it used to be a few years ago - it changed a lot the last few years. Pretty much all libraries are ported and many new libraries are Python 3-only. asyncio is nice. All Python devs I personally know moved to Python 3. Porting is a lot less painful than it used to be.
- BuckRogers 10y agoGevent is nice. AsyncIO is terrible[0]. [0]http://lucumr.pocoo.org/2016/10/30/i-dont-understand-asyncio/ http://lucumr.pocoo.org/2016/10/30/i-dont-understand-asyncio...
- orf 10y agoIt's actually ridiculously nice, especially with the new async/await constructs.
- dismantlethesun 10y agoPython 3 is largely cross-compatible with Python 2. If you're not working with unicode, not reliant on perfect floating point division, and not using aysncio, then chances are what you produce will work just fine on Python 2.
- spanishgum 10y agoMy python course at uni focused on python3. We talked about differences and toyed with both interpreters, but ultimately wrote all projects and assignments in 3. I'm sure this is the case for students at other schools too.
- kj01a 10y ago>(Yes, I'm still on Python 2 but moving soon). I'm like really new to programming and I'm still just learning the basics, but I see this little addendum a lot from people who say everyone should be writing Python 3.
- kstrauser 10y agoHere, I'll give you a counterexample: We're on Python 3 for all new stuff, and are migrating the old whenever we can.
- wiz21c 10y agome too. I've migrated a big project from 2 to 3 two years ago. And let's get this straight : innovation happens on python 3. So staying on 2 would feel like riding a dead horse. I know I did the right thing. And if Google can make an interpreter for 2, then sooner or later, one for 3 will pop up. Since Google made some restrictions on what Grumpy supports from python 2, I'm sure someone somewhere will be able to do the same stuff for three.
- joatmon-snoo 10y agoPython 2.7 is EOL in 2020. Make of that what you will :/
- loeg 10y agoThe community will fork the 2.7 codebase and continue to support it, even if Python.org EOLs it.
- xrange 10y agoIt looks like all Python 2.8 is missing is a new name: https://www.naftaliharris.com/blog/why-making-python-2.8/ https://www.naftaliharris.com/blog/why-making-python-2.8/
- ensignavenger 10y agoI can see "the community" doing security fixes, maybe some bug fixing and a few back ports, but so far I havn't seen much effort from any community to bring active development of new features.