5 ms·
Usually when it's hard to tell that's because it applies to both. The differences between the two are really not that large.
by gipp 11y ago
Usually when it's hard to tell that's because it applies to both. The differences between the two are really not that large.
- vegabook 11y ago...which begs the question: why are there any differences at all!
- Latty 11y agoBecause the differences were important and central to the language.
- vegabook 11y agoOnly central to the pedants who wanted to "clean it up", and not central to the user base which, as anybody can see, is now cleaved into two warring factions, a result which is far worse than any of the marginal "improvements" can compensate for.
- rjurney 11y agoThis, so much. Python 3 has failed in the market. A reboot is needed.
- andybak 11y agoLooking pretty good to me: https://python3wos.appspot.com/ https://python3wos.appspot.com/
- rspeer 11y ago> Only central to the pedants who wanted to "clean it up" You're talking about the Python development team, by the way. Of course they're pedants who want to clean things up. That's why we have Python.
- rjurney 11y agoprint "HI" # oh my god, the horror! print("HI") # yaaaah, order out of chaos Unconvincing.
- andybak 11y agoOh come on. That was a wart that was worth fixing at the same time as other more fundamental breaking changes. I doubt you really think that was all the 2>3 shift was about so why play dumb?
- azernik 11y agoThat 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.
- ptx 11y agoMore like: print >>sys.stderr, "Hi", # horror print("Hi", file=sys.stderr, end="") # order But the important change was Unicode.