Python之父:Python 4.0可能不會(huì)有了

Python 之父 Guido van Rossum 最近在接受微軟 Reactor 的采訪時(shí)被問(wèn)到 Python 的未來(lái),以及 Python 是否會(huì)發(fā)布 4.0 版本。他直言,Python 4.0 可能永遠(yuǎn)不會(huì)出現(xiàn)在世人面前。
采訪視頻鏈接:https://www.youtube.com/watch?v=aYbNh3NS7jA
Van Rossum 表示,他和 Python 的核心開(kāi)發(fā)團(tuán)隊(duì)成員對(duì) Python 4 的想法并沒(méi)有太多興趣,而且在 2008 年作為最終版本發(fā)布 Python 3 時(shí),大家就已經(jīng)從 Python 2 到 Python 3 的過(guò)渡期吸取了足夠的教訓(xùn)。
他提到:“我對(duì) Python 4 的想法并不感到興奮,核心開(kāi)發(fā)團(tuán)隊(duì)中也沒(méi)有人真正對(duì)此感到興奮:我們更有可能繼續(xù)編號(hào),至少會(huì)編號(hào)到 3.33。”
“Python 4,在這個(gè)問(wèn)題上,無(wú)論是什么時(shí)候,只要核心開(kāi)發(fā)團(tuán)隊(duì)一提到它,基本只是當(dāng)做一個(gè)玩笑……我們已經(jīng)從 Python 3 和 Python 2 中學(xué)到很多東西,因此,在嚴(yán)肅的意義上,談?wù)?Python 4 幾乎是一個(gè)禁忌。”
Python 2.7.18 是 Python 2.7 生命周期中的最后一個(gè)版本,于 2020 年 4 月發(fā)布。Van Rossum 曾警告說(shuō),Python 3 將不會(huì)與 Python 2 兼容,那些創(chuàng)建了基于 Python 2 的軟件庫(kù)的依賴關(guān)系的開(kāi)發(fā)者無(wú)法升級(jí)到 3.0 版本。
這個(gè)過(guò)程既緩慢又痛苦,持續(xù)了好幾年,很明顯,Van Rossum 和公司并不急于重新開(kāi)始。
“因?yàn)?Python 比核心開(kāi)發(fā)者所認(rèn)識(shí)到的更加成功,所以我們應(yīng)該對(duì) Python 有更深的認(rèn)識(shí),并且支持從 Python 2 過(guò)渡到 Python 3。”van Rossum 說(shuō)。
“以我們的經(jīng)驗(yàn)來(lái)看,我們認(rèn)為過(guò)渡會(huì)比較簡(jiǎn)單,因?yàn)槲覀兌际?Python 編程的‘愛(ài)因斯坦’,可以在睡夢(mèng)中把代碼從 Python 2 翻譯成 Python 3。”
Van Rossum 并沒(méi)有完全排除 Python 4.0 的可能性,但他暗示,這只有在與 C 兼容方面有重大改變時(shí)才有可能出現(xiàn)。他說(shuō):“我可以想象到,在某個(gè)時(shí)候,我們被迫放棄某些二進(jìn)制或 API 與 C 擴(kuò)展的兼容性……如果不改變語(yǔ)言本身,C 擴(kuò)展就會(huì)有明顯的不兼容性;如果我們能擺脫 GIL(global interpreter lock,全局解釋器鎖);如果其中一種或兩種出現(xiàn),我們可能會(huì)被迫調(diào)用 4.0,因?yàn)?C 擴(kuò)展層面的兼容性問(wèn)題。”
不過(guò),由于 Python 3.10 預(yù)計(jì)將在 10 月發(fā)布,而 3.11 版本預(yù)計(jì)將會(huì)有一些重大的速度改進(jìn),因此,van Rossum 強(qiáng)調(diào)說(shuō),在盡可能長(zhǎng)的時(shí)間內(nèi),發(fā)布編程語(yǔ)言的增量更新是重點(diǎn)。
“我們現(xiàn)在有嚴(yán)格的年度發(fā)布計(jì)劃,因此,在 Python 3.10 之后將是 3.11,之后將是 3.12,以此類推。在我們不得不再增加一個(gè)數(shù)字之前,我們可以上升到 3.99。再加一個(gè)數(shù)字并非完全微不足道,但還是比從版本 3 到 4 好得多。”
“Python 的加速是漸進(jìn)式的。在 3.11 里會(huì)出現(xiàn)一些新的速度,然后我們?cè)儆?3.12 和 3.13 加速,以此類推。”
為 Python 提速是 Python 核心開(kāi)發(fā)團(tuán)隊(duì)的第一要?jiǎng)?wù),van Rossum 在今年的語(yǔ)言峰會(huì)上宣布,他的目標(biāo)是在 3.11 版本中將 CPython 的性能提高一倍。
van Rossum 在采訪中還提到了外部項(xiàng)目為加快語(yǔ)言速度所做的努力,包括 Pyston,這是 Python 3.8.8 的一個(gè)實(shí)現(xiàn),在開(kāi)源之前從 Dropbox 開(kāi)始的。它的創(chuàng)造者最近發(fā)布了 Pyston 2.2,承諾比 CPython 3.8.8 的性能提高 30%。
“讓 Python 更快,我想說(shuō)的是,突然又回到新聞?lì)^條了。但愿通過(guò)我的團(tuán)隊(duì),我能在這方面做些貢獻(xiàn),因?yàn)槲掖_實(shí)對(duì)該領(lǐng)域有所了解。”van Rossum 說(shuō)。
“現(xiàn)在,我們感覺(jué)到我們有一年左右的時(shí)間來(lái)證明我們能夠在 Python 性能方面有所作為,3.11 將大大超過(guò) 3.10。”
Van Rossum 還談到了他對(duì)其他編程語(yǔ)言的看法,他說(shuō)他非常欣賞 Rust 提高 C++ 代碼的能力,并認(rèn)為 Go 是新“Pythonic”編程語(yǔ)言中最有趣的一種。
這位 Python 之父還描述了 Python 如何在近幾年開(kāi)始把 TypeScript 作為事情發(fā)展的決定性因素。“你可能已經(jīng)注意到,在過(guò)去的六、七年中,我們一直在向 Python 添加可選的靜態(tài)類型,也被稱為漸進(jìn)類型。”他說(shuō)。
“事實(shí)上,當(dāng)我們開(kāi)始這個(gè)項(xiàng)目時(shí),我并不知道 TypeScript,所以我不能說(shuō)我們最初是受 TypeScript 的啟發(fā)……現(xiàn)在,我們肯定會(huì)關(guān)注 TypeScript 的示例,有時(shí)我們會(huì)提出新的特性,因?yàn)槲覀冎滥承┨匦宰畛跏窃?Typescript 中沒(méi)有的,然后會(huì)根據(jù)用戶的需求將其添加到其中,并取得了巨大的成功。”
Van Rossum 說(shuō),Python Python 仍然在試圖重新創(chuàng)建其中一些成功案例。“Anders Hejlsberg 是一個(gè)非常聰明的家伙。TypeScript 已經(jīng)完成了一些 Python 還在等待處理的工作。”
(譯注:Anders Hejlsberg,1960 年 12 月出生于丹麥哥本哈根,曾在丹麥科技大學(xué)學(xué)習(xí)工程學(xué),計(jì)算機(jī)科學(xué)家。Turbo Pascal 編譯器的主要作者,Delphi、 C# 和 TypeScript 之父,.NET 創(chuàng)立者。)
“從我與 Anders 的交談中,TypeScript 聽(tīng)起來(lái)也是在向 Python 學(xué)習(xí),就像 JavaScript 在一些領(lǐng)域向 Python 學(xué)習(xí)一樣。”
清華數(shù)據(jù)分析筆記專欄,沖刺訂閱 30,000 !新人首單 ¥59.9,原價(jià) ¥129,僅限前 50 人!掃下方二維碼試讀。
有句話說(shuō)得好:“誰(shuí)掌握了數(shù)據(jù),誰(shuí)就掌握了未來(lái)”。大數(shù)據(jù)時(shí)代,具備數(shù)據(jù)思維、數(shù)據(jù)分析能力,已經(jīng)是互聯(lián)網(wǎng)人的基本技能了,也是大廠面試的加分項(xiàng)。
這個(gè)專欄內(nèi)容真誠(chéng)接地氣,為你總結(jié)了 3 個(gè)課應(yīng)用于實(shí)踐的經(jīng)驗(yàn)。作者陳旸是清華計(jì)算機(jī)博士,對(duì)數(shù)據(jù)采集、數(shù)據(jù)挖掘、數(shù)據(jù)可視化很有一套心法,配合大量項(xiàng)目實(shí)戰(zhàn),讓你學(xué)了就能用。
通過(guò)“MAS 學(xué)習(xí)法”,你可以從“思維”到“工具”再到“實(shí)踐”,高效上手?jǐn)?shù)據(jù)分析。老師還會(huì)直接提供項(xiàng)目數(shù)據(jù),讓你上手練習(xí),可以在簡(jiǎn)歷上完善項(xiàng)目經(jīng)歷,順利找到工作。
