4 ms·
I see people saying that the migration was painful, but my own experience with two separate Python 2->3 migrations were so smooth they might as well have been a
by yen223 4y ago
I see people saying that the migration was painful, but my own experience with two separate Python 2->3 migrations were so smooth they might as well have been a minor version bumps.
I don't know where this discrepancy comes from.
- TylerE 4y agoHow big were these projects? I work on a giant py2 codebqse with thousands of _files_. I haven’t run sloccount in a while but I bet we’re over 1M LOC. (And before anyone asks, a big part of why it’s so big is that it’s very old. So old it predates Django, so, in house framework, in house ORM, etc.)
- vkazanov 4y agoSome time ago we migrated a few hundred thousands lines of Py2 spread over dozens of services. Easiest case possible: every service can be converted and tested separately. Took a calendar year of ca-a-a-arefully migrating these one by one, all while delivering stuff and making sure nothing falls apart along the way. Not pleasant. Can't recommend.
- xdennis 4y agoIt was easy if you were working on your own packages. It was quite difficult if you were dependent on external packages that had no plan to upgrade or if your company had internal packages which were Python 2-only and required in most services.
- Joeboy 4y agoI migrated two significant projects, one of them took about half a day on my own, the other took several months with a team of people contributing.
- deleted 4y ago[deleted]
- xnorswap 4y agoThe migration as a whole has been painful. It's been 14 years and dropping python2 is still controversial. It's a story of how not to do a major language upgrade. It's not quite as bad as "Perl 6" which killed off the whole language, but it's up there with massive mistakes which has cost the industry dearly.
- jeltz 4y agoYeah, if we look at Ruby 2 (which fixed similar issues as Python 3 did) instead we can see that it does not need to be so painful.
- wink 4y agoSee my other comment, we started a Python 2 project in late 2013 (Python 3.0 was released in 2008) because of all the dependencies we wanted to use were not ported (yet, no clue if they ever were).
- heavenlyblue 4y agoIt comes from all of the people who don't actually use Python and just poo on it from the side.
- lanstin 4y agoOr all the people maintaining large python in house projects that had a certain expectation of how many people it takes to maintain a mature largely finished project which is suddenly much higher. I supported our framework adding a feature here and there, on boarding a new app team here and there for like 10% of my time. To switch it all to Python 3 would have been major work, high risk, and no real benefit. We either still run Python 2 now, or have migrated to Go (slightly more verbose code and slightly slower dev time, for much lower compute foot print). To be fair it was a place where the Python fans advocated for its use but to management was always a bit skeptical, so we had to make it all seem easy. We had good solutions to internationalization which all broke with Python 3.