About every other month I have to help a biologist who has pulled down an older program from Github debug why it broke in their data only to find that they were trying to run in Python 3 instead of Python 2. These are people that can write shell scripts, but don't program. It makes me aware of all the old code out there that is not used super frequently, but still solves people's problems, and would continue to if there hadn't been breaking changes.
As I write Python 3 now, I am less than impressed with the reasons for breaking compatibility. I'm told that it was necessary for proper bug-free Unicode code, but there's enough difficulty when using, say, gzip, and little enough documentation about the "proper" way to handle Unicode that I doubt that it will actually reduce Unicode-related bugs.
Python is still a great tool, but Python 3 really took the shine off for me.
As I write Python 3 now, I am less than impressed with the reasons for breaking compatibility. I'm told that it was necessary for proper bug-free Unicode code, but there's enough difficulty when using, say, gzip, and little enough documentation about the "proper" way to handle Unicode that I doubt that it will actually reduce Unicode-related bugs.
Python is still a great tool, but Python 3 really took the shine off for me.