5 ms·
I would like to understand: what was the key mistake in the transistion to Python 3 that generated this huge divide and this ultra-annoying situation for the pe
by softwarelimits 10y ago
I would like to understand: what was the key mistake in the transistion to Python 3 that generated this huge divide and this ultra-annoying situation for the people that still have to use Python today?
What can be learned from that Python desaster to avoid such a catastrophy with some other programming language?
I really would like to read some analysis about what went wrong.
Thank you very much for your attention!
- isxek 10y agothe key mistake in the transistion to Python 3 that generated this huge divide Here's how Aaron Swartz (and probably others as well) thinks the transition to Python 3 should have happened: http://www.aaronsw.com/weblog/python3 http://www.aaronsw.com/weblog/python3
- dagw 10y agoPersonally I think one big mistake was that it took literally years between python 3.0 coming out and numpy and django having a release that supported python 3. I remember python 3 coming out, being interested, looking at it for just long enough to realize that numpy wasn't supported and then not looking at it any more. Then I kind of lost interest in the intervening years and just kept working with python 2 which ended up getting back ports of many python 3 features. I think that if the teams had somehow managed to coordinate a more or less simultaneous release then much of that early momentum wouldn't have been lost.
- rkrzr 10y agoMost people who had bigger Python projects simply could not upgrade because they had a whole bunch of dependencies that did not work under Python3 and that could also not easily be replaced by some other library. On a big python project at work we only very recently have lost our last dependency on a Python2 library and it took some dedicated effort to track and replace these dependencies. And upgrading all of our own code to be Python3 compatible will be a whole other can of worms (even though we were careful to write our code in a forwards-compatible way using future imports etc.).
- Too 10y agoHen and egg problem. End applications did not want to upgrade because no third party libs were available. Third party libs did not want to upgrade because no applications would use them anyway. The correct way to handle such a transition is a proper bridge to import old libraries, then applications dare to upgrade without missing out on libraries which later leads to a bigger demand on third party libraries. Another big reason is simply plain old stupid FUD.