4 ms·
> The jury is still out on the Python 3 decision, to be honest. It's not. Python 3 has overtaken 2 and there is no stopping migration to it now. Python 3.7 i
by nas 8y ago
> The jury is still out on the Python 3 decision, to be honest.
It's not. Python 3 has overtaken 2 and there is no stopping migration to it now. Python 3.7 is a lot better than 2.7. Just on memory use alone, 3.7 is massively better. Sure, there will be some hold outs on 2.7 for a long time. That's fine.
Also, this is not the say that migration from 2 to 3 was handled well. It wasn't. Python 3.0 should have had backwards compatible features like allowing the 'u' string prefix. Indexing byte strings should have returned length one byte strings. Byte strings should have supported at least a minimal amount of %-style formats. Etc.
That has all been mostly resolved and is in the past. Mistakes were made because, shock, the Python core developers are not perfect and didn't foresee all the migration issues. However, there is no way that we are going back and reviving the Python 2.x branch.
- TylerE 8y agoHow much momentum was lost in the transition though? I know that with the pain of 3 at the time a lot of people started looking at languages like Go or even Scala.
- lenocinor 8y agoPython currently still 4th at https://www.tiobe.com/tiobe-index/ https://www.tiobe.com/tiobe-index/ . As the most popular scripting language on there by some margin, I'd say they're still doing pretty well.
- olooney 8y agoIt was touch and go for a couple of years there but yeah, Python 3 is now well and truly over the hump. The Python 3 Readiness Project now lists [341](http://py3readiness.org/ http://py3readiness.org/) of the 360 most common packages as Python 3 compatible. Even that's underselling it really. For example it lists BeautifulSoup as not converted, but the link goes to BeautifulSoup 3.2.1. However, BeautifulSoup4 works great on Python 3. And for MySQL there's mysqlclient and several others, and since database packages usually follow PEP 249 pretty closely its very easy to switch. So in reality, rather than 341/360, its more like "everything worth converting has been converted." Or just "everything" for short.
- mistrial9 8y agofalse imperative => "Python 3 has overtaken 2 and there is no stopping migration to it now. " this shows a superficial, almost entertainment-industry sort of view of a software development lifecycle.. in the latest Ubuntu Bionic with apps, building right now on a local machine, I see 143 python-xx packages installed and 43 python3-xxx .. saavy package authors use import future and six to side-step the whole issue, while core maintainers struggle, and outsiders invoke a mob voice Python 2.7 for LTS
- cwyers 8y agoThat's not the point of the person you're responding to. They didn't say that the transition didn't happen. They said it's not yet known if it was worth it. All you're saying is that it happened.
- nas 8y agoI'm saying it happened and Python 3 is the language I want to use. If you don't do Python 3, you either keep the error prone str/unicode string model or you dream up some way to evolve to a better model. Would some mythical version of an evolved Python 2.x be better than what we have? I mean, how to argue against that? I haven't seen anyone propose a workable migration plan. Python 3.7 is better than 2.7.15 and better than 'tauthon'.