序
当我在2002年6月加入python-dev邮件列表时,“Python 3000"(在湖闻樟译注:即Python 3)的团队每隔几个月都会描述一个Python 开发团队希望他们实现的建议,但是因为兼容性的原因都没有办法做到。对我们来说为“Python 3000 可能是“做一些事意味着没有发生任何变化。
但是后来我们开始越来越经常地说在Python 3000可能发生的事。最终到了“Python 3000”因为内部程序员的惰性被经常引用成缩写“py3k”的时候。 然后我们开始相信像我们大肆宣传的那样py3k将会更加好。到了Andrew Kuchling创建了用于跟踪我们在2004年底对py3k各种想法的EP PEP 3100(这是我最终负责的PEP 3000的原型)的时候 ,我们实际上要通过对py3k的一个“疯狂”的想法。这导致了在2006年3月开始了严肃地开发以及最终在2008年12月3日释放了Python 3.0。
当这些正在发生时,在社区上有对创建Python 3 的可行性/理智的复杂感情。在PEP 3100被创建的2004年,Python的流行程序有了明显的提升。这种趋势持续及在2006年左右,当py3k的开发全面开展时,Python的受欢迎程序已经超过了Perl。所能当Python成为世界上最流行的动态编程语言时,开发团队正在开始开发将下一个大版本,而这个大版本将会打破人们正在学习语言的兼容性。一些人因为这个显而易见的原因称呼我们为小傻蛋。
但是我们更愿意认为我们知道自己正在做什么。当Python 2是一个很棒的语言时,Guido 及在开发团队中的每一个人都知道它有一些缺陷(如果它没有缺陷的话,我们也就不会去创建一个接近有100个想要去改变地方的PEP)。 Guido也意识到了更多Python代码将来会被写出用来执行未来功能的特性。 作为我们社区的服务(一部分原因是因为它很有趣)我们决定我们应该信偿试修复以前犯的错误,所以未来的Python代码将会比Python 2更容易写也更快,这就是为什么我们要创造Python 3。
但是当一些人认为我们是打破Python 2兼容性的小傻蛋时,我们也意识到我们不想离开前面已经存在的社区以及只用新代码来发展Python 3。开发团队知道我们创造了一个出众的语言Python 3,并且我们想要用确保人们可以把他们的Python 2代码带进Python 3 动作的方式分享Python 3。从一开始,我们就确保所有变化在最坏的情况下会报警而在好的情况下可以自动处理。我们所学的技术和开发的工具被用于移植Python的大量的标准库为了从我们的错误中总结并确保其他人能够移植他们自己的代码。我们总是保持在我们后面的Python 2代码移植起来尽可能容易。
不断增多的Python 3可用的项目及所有主要的Linux发行版本已经或者下一个主要正式版附带上Python 3的事实都证明了我们没有把事情搞砸。 Guido总是说为了使Python 3取得社区的牵引需要花上3到5年时间。主要的库在他们的依赖库切换到Python3之后已经被移植到Python3,这个正式版Python 3不断发展趋势证明了Guido设定的时间线是正确的。
虽然有人把Python 2的代码迁移到Python 3的有什么用,但是记住下面两件事。其一是Python 3与Python 2相比是一个更好的语言。 虽然只有少数在大的变化,但是这些加起来使得Python 3比Python 2有更愉快的编程体验。相当经常地听到核心开发人员说相比起Python 2他们是如何地喜欢在Python 3上写代码。 I for one have simply stopped coding in Python 2 as it just feels slightly off compared to the more uniform feel of Python 3. 其次,Python 3的代码总数将会超过在Python的语言历史中Python 2,所有不迁移意味着你的项目将会落伍(这已经在那个声称不会切换到Python 3的项目上发生了,不切换导致了人们寻找为他们的Pyth 2和Python 3代码寻找替代器以确保能在准备好的时候切换到Python 3)。如果你想与时俱进,当你周围的世界在变化时懒散地坐不是一件好事。
我一直记得Python 3发布的那一天。 那是工作日结束的时候,我在IRC的#python-dev等待Python 3.0 正式版的经理Barry Warsaw把状态设置成发布。当发布状态改变时,我马上在椅子上转向旁边并告诉Guido完成了; Python 3不再是梦想了,它已成事实。我站了起来,微笑着跟每个人狂喜地击掌(下一个工作日,人们工作时都询问我们是为什么在那个晚上那么轻浮)。
在那一刻,并到了这一个,Python 3将失败或者不值我同事和我在里面花费的时间和努力的想法从来没有想过。而且人们不够关心能看到Python3有一本致力于帮助人们Python 2到Python 3的书这个事实也证明了Python 3日前不会将来也不会失败。
在湖闻樟注:
原文http://python3porting.com/preparing.html
引导页Supporting Python 3:(支持Python3):深入指南
目录Supporting Python 3(支持Python 3)——目录
来源:oschina
链接:https://my.oschina.net/u/2288842/blog/500267