Having a split like that in a language is terrible. You find libraries that work with not-your-version and you envy features that would make your code cleaner/faster/better, but you can't use them.
- "Ugh, that thing is lacking/stupid/messy."
- "Oh, no problem, that wart has been fixed in Python 3"
As a Python developer, usually this isn't a major problem for me when going out and finding libraries. Almost every library you find will support 2.7, so I pretty much stick to 2.7 when using or writing any code. I miss some of Python 3's good features but the library ecosystem is more important to me.
It's a real pain in the ass when I try to publish my own, though. The generally accepted rule is that all libraries must support 2.6 through 3.4, and this can be a major hassle.
- "Ugh, that thing is lacking/stupid/messy."
- "Oh, no problem, that wart has been fixed in Python 3"
- "Can we use it?"
- "No."