5 ms·
I'm kind of surprised people are surprised that upgrading to 3.x has gone slowly. I'm kind of surprised that people think people are surprised that the upgrade
by nessus42 15y ago
I'm kind of surprised people are surprised that upgrading to 3.x has gone slowly.
I'm kind of surprised that people think people are surprised that the upgrade to Python 3 has gone so slowly. After all, Guido himself has stated on numerous occasions that the migration would take many years to complete. The time to complete this transition is not so much of a problem for a language that plans to be around for the indefinite future. After all, the future is much longer than the past.
- kamaal 15y agoThis still doesn't solve the problem of users who wish to start a project in Python now. Should they work with 2.x which is going to go away, or 3 whose ecosystem is not ready yet.
- dagw 15y agoUse python 2.x, but write it in such a way that the code will run on python3 is the semi-official answer.
- kamaal 15y agoPeople who are supposed to make decisions on choosing technology are not going to think that way. There are better things to worry than to maintain two parallel versions of the same code supposed to run on two different versions of Python. Its either going to be one of them or some other language.
- icebraining 15y agoI think the point is that you don't have to keep two parallel versions of the same code, since it's possible to write a single version that it's both compatible with 2.7 and 3.X.
- kamaal 15y agoAs I said people have better issues to worry about than walking on a string trying to balance not falling on either side. They are either going to use one of them fully or neither.
- dagw 15y agoExactly. A fair bit of python 3 has been backported to python 2, and there exist tools (like http://packages.python.org/six/ http://packages.python.org/six/) to help paper of the cracks. You might not necessarily be able to keep things 100% source compatible, but if you think and plan a little bit you should end up with a codebase that can quickly port over to python3 once all your third party libraries are supported and stable
- kamaal 15y agoI don't see any reason why I must do all this extra stuff. When there are better alternatives available elsewhere.
- dagw 15y agoI don't see any reason why I must do all this extra stuff You don't have to do all this extra stuff. You could say I'm going with python3 and simply live without (or port or re-implement) any features from third party libraries that don't have a python2 version. Or you could say I'm going with python2 and live with the facts that the language won't be evolving any more and a few years from now most libraries will only see updates to their python3 branch. Both of those approach are also perfectly reasonable depending on the scope of the project. When there are better alternatives available elsewhere. Obviously if there are significantly better answers than python to the problem you're facing then you should be using one of those alternatives. I was assuming that you'd already decided that python was the best fit for an upcoming project and needed a plan on how to proceed.
- scott_w 15y agoIn addition, if you're developing a web-based system you can write your code in preparation for Python 3. When you're ready to move over, you do a one-time port and drop Python 2.x support altogether. Obviously this depends on a few things - deployment, time/cost etc.
- toyg 15y agoIf your dependencies already support 3.x, at least in some svn/git trunk publicly available, there is no reason for sticking with 2.x. I think the minute Django supports Python 3, we'll see the level of whining drop to almost zero.
- kamaal 15y agoUnless you believe Django ~ Python. And that is bad news for Python, trust me. We have already seen this in the past. Perl ~ CGI/Sysadmin Javascript ~ Jquery Ruby ~ Rails Python ~ Django??? This is a dangerous path to go and never does good over the longer run.
- toyg 15y agoI don't think Python community ~ Django community; I do believe the loudest elements in any geek community are, invariably, web developers, who (unsurprisingly) are over-represented on the web. Once you satisfy them, the level of noise on any given subject drops considerably. At the moment, they are pissed off that Django is not moving as fast as the language, so they whine that "nobody is moving to Python 3". As soon as that's fixed, the noise will drop. Same for the numpy/scipy community, which is the other big one for Python. Lots of academic people there, who have a lot of spare time to bitch on the web.
- bryanlarsen 15y agoTo continue your silly analogy: C ~ Unix This association is a lot stronger than any of the others that you listed. C & Unix were created in tandem and were designed for each other in very many ways. For the first 10 years of C's life it was rarely used outside of Unix. But for the next 20 years or so it became the dominant language for pretty much any large project. It's only been the last 10 years or so where C has lost its domination. Association with a very popular project has its downsides, but the upsides are much stronger, in my opinion. For instance, would Ruby be as widely known, deployed and used for non-Rails projects if it wasn't for Rails? It probably would just be another "niche" language rarely used outside of Japan. OTOH gem probably wouldn't be as badly broken as it is.
- 15y ago
- nessus42 15y agoPersonally I use Python 2. I'll move to Python 3 when I think it's ready for prime time for my needs. I'm in no rush. None of this deters me from thinking that Python 3 was the right thing to do.