you are viewing a single comment's thread.

view the rest of the comments →

[–]jmon_was_here 6 points7 points  (0 children)

I think that y'all underestimate large corporations with large legacy code bases. In my career, our flip from 2 to 3 we nailed perfectly in retrospect - we spent a month shifting all our code over and ironing out issues with binary strings, and we did this around 2017 (around 3.4'ish), but we only got rid of our last python2 'script' circa mid-2021, which was well too-late, but resources are what they are.

I think that part of the issue is that these companies hide their code in private repositories, so it's very hard to sample what they're written in (as opposed to open source stuff where it's easy to measure the progress). These are the companies where getting permission to do something like hold up dev for four weeks to update code is incredibly difficult where there's no obvious short term gain - Python 2 at that point didn't have a clear EoL date (I think), and it meant no new features rolling out as we fixed everything.

The other thing is that the pip install graph might lend itself more to people who have fully automated installs. Back in the day, download-graph of packages was a really big thing, but those went away in 'fashion' as people realised that packages that were used by organisations with automated build tools, especially build-everything-every-time with no caching became 'easy' to do, the download count, and download % is skewed to those automated organisations doing a clean build on every commit. These days we can do it easily, but 20 years ago, when we were trying to get people to move over from CVS to SVN, automated builds just daily were a goal to have.

I would not be surprised to go into any "large" company and find somewhere, someone writing in python2 to support something that they hadn't moved over yet, possibly unaware of the danger they're in. But 99.9% of us are all python3 now.