It has been made abundantly clear to me that some core developers did not appreciate my previous communications concerning my worries surrounding transition to Python 3. I thought matters were resolved and wanted to let the issue rest for a while, but today I became aware that they are not. Therefore this attempt to address this as part of the public record. Some basics concerning my intended message: doom is not at hand. The sky is not falling. Do not be alarmed. Instead, be prepared. Transitioning your code to Python 3 (through Python 2.6) will in many cases, especially for the larger, more widely used, or less well-tested codebases, not be a cakewalk. The community will be in transition for a period of years and we need to prepare ourselves so we can best deal with this. During this transition, there will be more difficulties in code reuse between projects on different sides of the 2 to 3 transition. Some apologies are in order. I apologize if I implied that the core developers had not thought their transition plans through. I hope the core developers will believe (by careful reading of my previous communications in my own blog and others) that this was not my intent. My intent was: My last point was unfortunately easily misunderstood and in the heat of the discussion I used words that were clearly too strong. For instance, I should not have used the word "fork" when describing my worries - this is clearly a loaded word. I apologize for my use of this word. I should also have made it far more clear that I was responding to core developers who addressed me, and not have overgeneralized to other core developers who did not participate in this conversation. Let this be clear: I do believe that the core developers have thought through the transition plans and the implications thereof. I believe that the transition weighs heavily on their hearts. Too much I thought that it was a given in this debate that the core developers are not careless or stupid about the transition. I should have made it more explicit, as several people understood me to make this implication. I apologize for this inadvertent implication. (Note that this doesn't mean I'm not worried anymore, or that I can't disagree with any core developer on this. It's just that I trust they're smart, experienced and responsible people. I also hope that this trust is reciprocal) I now also see how discussing communication strategies with core developers can in itself be interpreted as being insulting to their communication skills. My apologies for this as well. I did not wish to make that implication. It was a combination of the heat of the debate, and my inexpertly trying to help with this, given some of my experiences and thoughts in this matter with Zope 2 to Zope 3 transition (which is different from the Python one in many, many ways). In the future I will try to avoid this problem by instead do my own communication surrounding this topic, and not address the core developers about their communication. I should be wiser, but as someone stung heavily on his foray in Python 3 politics I cannot resist a sting in the tail. A note of warning to those who might wish to follow me in discussing in public their worries surrounding possible negative aspects concerning the Python 3 transition. Be very clear in your communication. If you are not clear enough, prepare to be flamed and perhaps even distrusted. It's not a comfortable position to be in.
(4) Mon Jul 16 2007 21:29 Communicating with core developers on the Python 3 transition:
- Comments:
Posted by anonymous@85.75.207.154 at Mon Jul 16 2007 22:59
Bah. You did well to raise these concerns.In my opinion it is not necessary to convert existing code to py3. If somebody who writes a *new* project sees py3k as a more attractive/advanced language, they can just use it.What i fear though, is when some people will put existing projects against each other to compete on who was switched to py3k. For example "TurboGears Has Switched to py3000 -- Django hasn't. Turbogears more pythonic". And people will be forced to go to py3k because the "competition" has done that.That might be a waste of resources if people have real things to work on.
Posted by Martijn Faassen at Mon Jul 16 2007 23:12
Anonymous, the point about the effect on project marketing is interesting. Larger projects with more people depending on them will find it harder to upgrade, as they need to coordinate matters more. They will therefore likely be slower to upgrade. Smaller projects may find it easier. This means that more successful projects may be considered old-fashioned by some. That would be an unfortunate side-effect.You could turn it around and say more successful projects have a larger developer pool to draw on and this compensates. Considering the difficulty for larger codebases to migrate to new 2.x versions I'm not sure whether this holds.
Posted by Kevin at Tue Jul 17 2007 20:19
Python is my favorite language and I've been a developer since 1980. Thinking about this upcoming transition to version 3.0 causes me to feel sick. I've promoted Python for half a dozen years and won over a lot of developers. Now they are all hearing that their code won't work with version 3.0 without a conversion effort which they do not have the time or resources to do. (Retesting and getting user sign-off for every change is a reality for us.) Everyone I've talked to is reevaluating the choice of Python as the scripting language of choice and a lot of people are simply planning on walking away, myself included. I realize there are some good features being added to Python but there are a lot of foolish changes as well. Case in point: PRINT -> PRINT(). That's just silly and is only being made to help developers when print output overrides are needed. That's just not a good enough reason when there is already a known way of doing the same thing without the language change. That the core Python developers would thumb their noses at their "customers" is reason enough to never have anything to do with Python again.
Posted by Paul Boddie at Sat Jul 28 2007 19:43
Kevin, there's no reason to walk away from Python. I and many others will still be using Python 2.x for some time to come, and when Guido asked at EuroPython whether anyone was considering *never* moving to Python 3, I raised my hand not merely to see if it'd get a reaction. ;-)For me, Python 3 would involve going through around 20 different projects - some larger than others - and doing a lot of auditing. Given that various libraries sitting under those projects won't be ready for Python 3 for some time, and given the wealth of software working just fine on Python 2.x, what would be the benefit of doing all that hard work to arrive at the same end result? It's not as if I use all the fancy metaclasses, decorators, co-operative super calls (soon to be redone *again*) that have driven Python core development over the past few years, either.Stay away from Python 3, by all means, but stick with the Python you already know - it won't be disappearing!
