Hacker News new | ask | show | jobs
by jonnytran 2113 days ago
This is simply not true. From 2014 to 2017, I worked at a place where I kept starting new projects in Python 3. But people with less foresight wouldn't let their Python 2 habits die. It was a constant struggle to get anyone to realize that Python 3 was the future, and the majority of the code ended up using Python 2. In 2019 when the end-of-life for Python 2 was finally announced, I knew of companies scrambling to upgrade.

I can't help but contrast this with the upgrade from Ruby 1.8 to 1.9. It was also painful, but no one in the community was holding on to 1.8 years later.

2 comments

> I can't help but contrast this with the upgrade from Ruby 1.8 to 1.9.

One difference is that upgrading Ruby from 1.8 to 1.9 brought a significant performance increase, whereas going from Python 2.x to early 3.x, performance actually got worse.

AFAICT this was mostly caused by the removal of the machine-word-sized integer type - in Python 3, even 1+1 is calculated using arbitrary-precision integers.

Python 2 => 3 had lots of other problems as well - ultimately they changed just enough to break everyone’s code, but not enough to make upgrading worthwhile.

I've often wondered if part of the problem was supporting Python 2 for so long and hence prolonging the pain.
Without that I think many would lose trust in Python and just switch language.

I mean it has only been 11 years since Python 3.1/2.7 and that's probably a common lifespan for maintenance mode code projects? 3.5 is still supported and that one is 5 years old. Why the hurry.

Why the hurry.

Because some people will always leave it to the last moment or beyond. Meanwhile the Python team has had the overhead of supporting more code than necessary.

What r they gonna switch to?
Python is not technically superior to other languages enough that you can rhetorically ask that question. It’s main advantage is the ecosystem and network effects. If a bunch of people, especially the people who work on numpy, scipy, etc., decide to work on developing libraries for other languages like R and Julia, the data science ecosystem would switch over in a few years. Similarly for other fields people might switch to languages like Elixir, Haskell, OCaml, Go, Swift, Scala, Ruby, Kotlin, etc.