2 ms·
It would have helped immensely. The main issues with the upgrade is that: 1. Libraries needed to maintain both versions (or code compatible with both. 2. Pro
by kevincox 5y ago
It would have helped immensely.
The main issues with the upgrade is that:
1. Libraries needed to maintain both versions (or code compatible with both.
2. Projects couldn't upgrade until their dependencies did.
If Python 3 could run old code (for example you needed to write `import py3` at the top of a file to switch) then all projects could have updated their code in parallel, there would be no (or minimal) work to maintain support for old versions and everyone can update to py3 the day it came out. The workflow then looks like this:
1. Everyone updates to Py2.9 which supports the old features and the new features.
2. Everyone migrates their code to use the new features and remove deprecated features independently.
3. Py3 comes out and drops support for the old stuff.
1 is not trivial, but it is equivalent to any other time that you drop support for old versions, this happens regularly and isn't a huge event.
Compare that to the nasty wave of updating dependencies and requirement to continue supporting old versions, especially since the code to support multiple versions was fairly awkward for a lot of projects.