> There is a perfectly other language available called Python 2, it has the larger user base and that user base is barely at all migrating over. At the moment it's just very frustrating.
I come from a different perspective, I looked at the benefits of Python 3 and looked at my existing code base and how it would be better if was written in Python 3 and apart from bragging rights, and having a few built-in modules (that now I get externally) it wouldn't actually be better.
To put it plainly, Python 3, for me, doesn't offer anything at the moment. There is no carrot at the end. I have not seen any problems with Unicode yet. Not saying they might not be lurking there, I just haven't seen them. And, most important, Python 2 doesn't have any stick beating me on the head with, to justify migrating away from it. It is just a really nice language, fast, easy to work with, plenty of libraries.
From from _my_ perspective Python 3 came at the wrong time and offered the wrong thing. I think it should have happened a lot earlier, I think to justify incompatibilities it should have offered a lot more, for example:
* Increased speed (a JIT of some sort)
* Some new built-in concurrency primitives or technologies (something greenlet or message passing based).
* Maybe a built-in web framework (flask) or something like requests or ipython.
It is even hard to come with a list, just because Python 2 with its library ecosystem is already pretty good.
Most libraries support Python 3 (http://py3readiness.org/).
3.4 added asyncio, 3.3 added the 'yield from'. Python 3 has a saner print statement, type annotations.
I guess that it isn't that much, but I moved mostly due to the fact that a) the libraries I need support python3 anyway b) the stuff I write might need 'yield from' c) what if Python 3.x adds some awesome feature that you'll need, and by that time, you're stuck with a ton of code you need to convert?
Well, the payoff is probably not that great, but how much effort is really required to move to 3? Rewriting print statements and changing a couple import statements? Anything else? There's no carrot and no stick, but you're only being asked to stand up for a second so someone can switch your chair into something more comfortable. You're not exactly rewriting it in Perl.
Well customers pay for it, use it and like it. That my book qualifies it as not broken. They can chose other software but they pick this one.
Also, just because unit tests cover the code and pass doesn't mean product is not broken. Two working units of code adding together in a system don't guarantee that system will do what it is supposed to do. So yes there is risk.
The bigger problem is that there are not tangible benefits of Python 3. That is its tragedy the way I see it.
And time-wise, it is pretty sad, it might take me less than a few days to work through it, but it is still not worth it.
I come from a different perspective, I looked at the benefits of Python 3 and looked at my existing code base and how it would be better if was written in Python 3 and apart from bragging rights, and having a few built-in modules (that now I get externally) it wouldn't actually be better.
To put it plainly, Python 3, for me, doesn't offer anything at the moment. There is no carrot at the end. I have not seen any problems with Unicode yet. Not saying they might not be lurking there, I just haven't seen them. And, most important, Python 2 doesn't have any stick beating me on the head with, to justify migrating away from it. It is just a really nice language, fast, easy to work with, plenty of libraries.
From from _my_ perspective Python 3 came at the wrong time and offered the wrong thing. I think it should have happened a lot earlier, I think to justify incompatibilities it should have offered a lot more, for example:
* Increased speed (a JIT of some sort)
* Some new built-in concurrency primitives or technologies (something greenlet or message passing based).
* Maybe a built-in web framework (flask) or something like requests or ipython.
It is even hard to come with a list, just because Python 2 with its library ecosystem is already pretty good.