4 ms·
That is not the central and essential change. It's just a style cleanup that they did while they were breaking compatibility anyway. The big change was string/
by azernik 11y ago
That is not the central and essential change. It's just a style cleanup that they did while they were breaking compatibility anyway.
The big change was string/byte-array typing, which was a mess in Python 2 and was cleaned up in Python 3. That's one of those things that, when changed, inherently breaks old code in ways that, like wizards, are subtle and quick to anger.
Also changing lots of sequence functions like range() to return iterators instead of lists, but those are mostly pure performance wins that don't break compatibility except for some very specific use cases.
- orangecat 11y agoThe big change was string/byte-array typing, which was a mess in Python 2 and was cleaned up in Python 3. And made worse in some cases (e.g. http://legacy.python.org/dev/peps/pep-0461/ http://legacy.python.org/dev/peps/pep-0461/). Even aside from that, I would argue that the benefits of cleaning up Unicode didn't come close to the cost of breaking everyone's code and fragmenting the language for 7+ years.