There was a point where there was some FUD around the migration, painting it as a sequel to PERL 6. However, the community managed to turn it around. To their credit, orchestrating large breaking changes to a popular language with a diverse set of use cases is fundamentally a very challenging task.
The main holdouts for Python 2 are large organizations which have a lot of existing/working legacy code. The majority of new Python projects seem to be using Python 3.
Now that the work is nearly done, we can all enjoy a better Python.
I very recently moved to 3.6, from 3.5. There's a saying that a luxury once sampled becomes a necessity, which sums up my opinion on the new f-string syntax.
Yes, Python 3 was initially a risky endeavor, but in the past couple of years it has cemented its position as the true and only version of Python.
On top of it, Python2 works so well and python3 introduces so few advantages that doing an expensive port is just not feasable for many codebases.
And I guess that python is used mostly by smaller companys with constantly lacking manpower and money plays also an important role.
- 2008-2012 Python 3 as a language becoming usable
- 2012-2016 Libraries gaining Python 2 compatibility (and dropping 2.4 and below)
- 2016-2020 Applications porting now that most libraries are compatible.
Anyways, the fiasco is over and Python 3 has emerged as the victor, so there really is no use discussing the issue anymore imo.
What are you referring to? I haven't heard or read any core developers say anything close to 'introducing breaking changes was a mistake in hindsight'.