Supporting Python 3(支持python3)——序

當我在2002年6月加入python-dev郵件列表時,「Python 3000"(在湖聞樟譯註:即Python 3)的團隊每隔幾個月都會描述一個Python 開發團隊但願他們實現的建議,可是由於兼容性的緣由都沒有辦法作到。對咱們來講爲「Python 3000  多是「作一些事意味着沒有發生任何變化。html

可是後來咱們開始愈來愈常常地說在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

當這些正在發生時,在社區上有對建立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再也不是夢想了,它已成事實。我站了起來,微笑着跟每一個人狂喜地擊掌(下一個工做日,人們工做時都詢問咱們是爲何在那個晚上那麼輕浮)。ui

在那一刻,併到了這一個,Python 3將失敗或者不值我同事和我在裏面花費的時間和努力的想法歷來沒有想過。並且人們不夠關心能看到Python3有一本致力於幫助人們Python 2到Python 3的書這個事實也證實了Python 3日前不會未來也不會失敗。spa


在湖聞樟注:.net

原文http://python3porting.com/preparing.html

引導頁Supporting Python 3:(支持Python3):深刻指南

目錄Supporting Python 3(支持Python 3)——目錄

相關文章
相關標籤/搜索