Python之父:Python 4.0 可能永遠不會出現

Python 之父 Guido van Rossum 最近在接受微軟 Reactor 的採訪時被問到 Python 的未來,以及 Python 是否會發布 4.0 版本。他直言,Python 4.0 可能永遠不會出現在世人面前。

採訪影片地址:https://www.youtube.com/watch?v=aYbNh3NS7jA

Van Rossum 表示,他和 Python 的核心開發團隊成員對 Python 4 的想法並沒有太多興趣,而且在 2008 年作為最終版本釋出 Python 3 時,大家就已經從 Python 2 到 Python 3 的過渡期吸取了足夠的教訓。

Van Rossum表示,他和Python的核心開發團隊成員對4並沒有太多興趣,他提到:“無論是什麼時候,只要核心開發團隊一提到Python 4,基本只是當做一個玩笑……我們已經從 Python 3 和 Python 2 中學到很多東西,因此,在嚴肅的意義上,談論 Python 4幾乎是一個禁忌。”

Python 2.7.18 是 Python 2.7 生命週期中的最後一個版本,於 2020 年 4 月釋出。Van Rossum 曾警告說,Python 3 將不會與 Python 2 相容,那些建立了基於 Python 2 的軟體庫的依賴關係的開發者無法升級到 3.0 版本。這個過程既緩慢又痛苦,持續了好幾年,很明顯,Van Rossum 和公司並不急於重新開始。

Python 2.7.18 是 Python 2.7 生命週期中的最後一個版本,於2020年4月釋出。Van Rossum曾警告說,Python 3 將不會與 Python2 相容,那些建立了基於 Python 2 的軟體庫的依賴關係的開發者無法升級到 3.0 版本。這個過程既緩慢又痛苦,持續了好幾年。很明顯,Van Rossum 和公司並不急於重新開始,他们认为此刻需要对Python 有更深的認識,並且支援從 Python 2 過渡到 Python 3

Van Rossum 並沒有完全排除 Python 4.0 的可能性,但他暗示這隻有在與 C 相容方面有重大改變時才有可能出現。

“我可以想象到,在某個時候,我們被迫放棄某些二進位制或 API 與 C 擴充套件的相容性……如果不改變語言本身,C 擴充套件就會有明顯的不相容性;如果我們能擺脫 GIL(global interpreter lock);如果其中一種或兩種出現,我們可能會被迫呼叫 4.0,因為 C 擴充套件層面的相容性問題。”

由於 Python 3.10 已在在 10 月釋出,而 3.11 版本預計將會有一些重大的速度改進,因此,van Rossum 強調說,釋出程式語言的增量更新是重點。

“我們在有嚴格的年度釋出計劃,因此,在 Python 3.10 之後將是 3.11,之後將是 3.12,以此類推。在我們不得不再增加一個數字之前,我們可以上升到 3.99。再加一個數字並非完全微不足道,但還是比從版本 3 到 4 好得多。”

“Python 的加速是漸進式的。在 3.11 裡會出現一些新的速度,然後我們再用 3.12 和 3.13 加速,以此類推。”

為 Python 提速是 Python 核心開發團隊的第一要務,van Rossum 在今年的語言峰會上宣佈,他的目標是在 3.11 版本中將 CPython 的效能提高一倍
van Rossum 在採訪中還提到了外部專案為加快語言速度所做的努力,包括 Pyston,這是 Python 3.8.8 的一個實現,在開源之前從 Dropbox 開始的。它的創造者最近釋出了 Pyston 2.2,承諾比 CPython 3.8.8 的效能提高 30%。

“讓 Python 更快,我想說的是,突然又回到新聞頭條了。但願透過我的團隊,我能在這方面做些貢獻,因為我確實對該領域有所瞭解。”van Rossum 說。

“現在,我們感覺到我們有一年左右的時間來證明我們能夠在 Python 效能方面有所作為,3.11 將大大超過 3.10。”

Van Rossum 還談到了他對其他程式語言的看法,他說他非常欣賞 Rust 提高 C++ 程式碼的能力,並認為 Go 是新“Pythonic”程式語言中最有趣的一種。
這位 Python 之父還描述了 Python 如何在近幾年開始把 TypeScript 作為事情發展的決定性因素。“你可能已經注意到,在過去的六、七年中,我們一直在向 Python 新增可選的靜態型別,也被稱為漸進型別。”他說。

“事實上,當我們開始這個專案時,我並不知道 TypeScript,所以我不能說我們最初是受 TypeScript 的啟發……現在,我們肯定會關注 TypeScript 的示例,有時我們會提出新的特性,因為我們知道某些特性最初是在 Typescript 中沒有的,然後會根據使用者的需求將其新增到其中,並取得了巨大的成功。”

Van Rossum 說,Python Python 仍然在試圖重新建立其中一些成功案例。“Anders Hejlsberg 是一個非常聰明的傢伙。TypeScript 已經完成了一些 Python 還在等待處理的工作。”

(譯註:Anders Hejlsberg,1960 年 12 月出生於丹麥哥本哈根,曾在丹麥科技大學學習工程學,計算機科學家。Turbo Pascal 編譯器的主要作者,Delphi、 C# 和 TypeScript 之父,.NET 創立者。)

“從我與 Anders 的交談中,TypeScript 聽起來也是在向 Python 學習,就像 JavaScript 在一些領域向 Python 學習一樣。”

原文地址:https://www.tectalk.co/why-python-4-0-might-never-arrive-according-to-its-creator/#comment-155
編譯整理:InfoQ

【End】

※※※※※※※※※※※※※※※※※※※※※※※※※※※※

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~

文章推選

乾貨攻略|Python資料視覺化攻略大全,8000字超詳細!

Python 的學習線路圖,以及100 個 Python 小專案原始碼分享,碼住!

原始資料、免費在線學習哪裡找?這些網站要用好

七個步驟帶你全面了解數據分析完整流程,建議收藏!

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/