Python 之父講述退位原因,以及 Python 的未來(lái)將何去何從歼捏。
在 Python 社區(qū)稿存,Python 的發(fā)明者 Guido Van Rossum 被稱為 “仁慈的終生獨(dú)裁者”(BDFL,Benevolent Dictator for Life)瞳秽。今年 7 月 12 日的時(shí)候他突然宣布退位了瓣履。消息一出,一時(shí)間震驚了整個(gè) Python 世界练俐。當(dāng)時(shí)他以 PEP 572 改進(jìn)提案的爭(zhēng)吵事件為例袖迎,表明其退出緣由。Guido van Rossum 于 1990 年發(fā)明 Python,他相信 Python 這門語(yǔ)言即使少了他的領(lǐng)導(dǎo)也依然能持續(xù)發(fā)光發(fā)熱⊙嘧叮現(xiàn)年 62 歲的 van Rossum 是一名 Dropbox 的首席工程師辜贵,近日他接受了外媒 InfoWorld 的采訪。
01:你為什么辭去 BDFL 職務(wù)归形?
van Rossum:所謂的終生和獨(dú)裁都僅僅是玩笑托慨。實(shí)際上,最近十年暇榴,退休的念頭都在我腦海里徘徊厚棵。我年齡已經(jīng)不小了,身體也有一些問(wèn)題蔼紧。作為 Python 社區(qū)的主要負(fù)責(zé)人婆硬,我需要一遍又一遍地去教社區(qū)的其他成員如何開(kāi)展工作,同時(shí)需要一遍又一遍地向 Python 新人解釋 Python 的語(yǔ)言哲學(xué)奸例,這樣超負(fù)荷的工作讓我的健康狀況更為惡化彬犯。事情的引爆點(diǎn)在于一個(gè)頗具爭(zhēng)議的 Python 改進(jìn)提案(PEP 572),當(dāng)我接受這個(gè)提案之后哩至,Twitter 等社交媒體上出現(xiàn)了一些中傷我的評(píng)論躏嚎。而更為心寒的是,這些評(píng)論居然大多來(lái)自 Python 的核心成員菩貌,我對(duì)他們失望至極!
02:你能談?wù)?PEP 572?提案的好處以及它為什么如此充滿爭(zhēng)議嗎重荠?
van Rossum:該提案提出了一種新的語(yǔ)法箭阶,它允許表達(dá)式內(nèi)賦值「曷常總得來(lái)說(shuō)仇参,這是對(duì) Python 語(yǔ)言的一個(gè)小補(bǔ)充。開(kāi)發(fā)人員如果需要的話婆殿,可以在表達(dá)式中進(jìn)行賦值诈乒。很多編程語(yǔ)言都有這個(gè)小功能,比如我熟悉的 C 和 C++婆芦。據(jù)我所知怕磨,Java 和 JavaScript 也支持。它是一種相當(dāng)小的語(yǔ)法消约,但在某些情況下肠鲫,它可以讓代碼編寫(xiě)變得更容易,并且通過(guò)刪除冗余能夠提升代碼的可讀性或粮。很多人覺(jué)得自己熟知 Python 的設(shè)計(jì)理念导饲,他們認(rèn)為該提案沒(méi)有遵循 Python 的設(shè)計(jì)原則。該提案引發(fā)爭(zhēng)議的另一個(gè)原因在于其作者自己的失誤,之前幾個(gè)版本就存在一些嚴(yán)重的問(wèn)題渣锦,因此這一次硝岗,即使之前認(rèn)同其基本理念的人也投了反對(duì)票。但這只是一個(gè)輕微的句法變化袋毙,并不激進(jìn)型檀。
03:該特性將包含在哪個(gè)版本的 Python 中?
van Rossum:它將出現(xiàn)在 Python 3.8 中娄猫。Python 3.8?將于一年半后發(fā)布贱除。此前我們?cè)l(fā)文探討過(guò)為何 Python 的速度如此之慢,在這一更新版本中媳溺,Python 3 啟動(dòng)慢的問(wèn)題將會(huì)是 CPython 核心團(tuán)隊(duì)主要解決的問(wèn)題之一月幌。
04:會(huì)有一個(gè)新的 BDFL 嗎?
?Python 后續(xù)將如何管理悬蔽?van Rossum:很抱歉扯躺,目前確實(shí)無(wú)可奉告。實(shí)際上蝎困,我給核心開(kāi)發(fā)團(tuán)體(擁有提交權(quán)限的?100 多人)指定了一項(xiàng)任務(wù)录语,讓他們思考今后的管理模式并選出新的負(fù)責(zé)人。他們?cè)诮鉀Q Python 問(wèn)題的同時(shí)禾乘,需要認(rèn)真完成該任務(wù)澎埠。這可能需要長(zhǎng)期討論,短期內(nèi)很難達(dá)成共識(shí)始藕。令我高興的是他們欣然接受了這個(gè)任務(wù)蒲稳,并制定了任務(wù)進(jìn)度表。他們會(huì)在 2018 年 10 月 1 日前完成提案的收集伍派。然后江耀,在 2018 年 11 月 1 日前,他們會(huì)從眾多提案中選出最終的管理方案诉植。然后到 2019 年 1 月 1 日祥国,他們會(huì)整理好管理方案的相關(guān)文件,并選舉或者任命新的負(fù)責(zé)人晾腔。如果有提案指出需要 BDFL舌稀,則該提案必須對(duì)其詳細(xì)說(shuō)明,比如如何選舉 BDFL建车,BDFL 任職時(shí)長(zhǎng)扩借,以及 BDFL 的彈劾機(jī)制。我想最快 10 月 1 日缤至,最晚明年 1 月 1 日潮罪,將會(huì)產(chǎn)生一名新的 BDFL康谆。
05:Python 的核心成員都有誰(shuí)?
van Rossum:Python 的核心成員有很多嫉到。比如 Brett Cannon沃暗,他是一位真正的大神。又如 Tim Peters何恶,作為我的良師益友孽锥,他提出了“Python 之禪”,生動(dòng)地詮釋了 Python 的編程哲學(xué)细层。另外惜辑,Barry Warsaw 也是核心開(kāi)發(fā)人員之一。
06:未來(lái)你將在 Python 項(xiàng)目中擔(dān)任怎樣的角色疫赎?
van Rossum:我將成為一名普通的貢獻(xiàn)者或者核心開(kāi)發(fā)者盛撑。偶爾會(huì)編寫(xiě)或者審查代碼。此外捧搞,我將嘗試專注于核心開(kāi)發(fā)人員的指導(dǎo)工作上抵卫,尤其是新的核心開(kāi)發(fā)人員、女性或者少數(shù)民族人士胎撇。因?yàn)槲覀€(gè)人很推崇核心開(kāi)發(fā)人員的多樣性介粘。
07:作為曾經(jīng)的 BDFL,你覺(jué)得自己的離開(kāi)會(huì)不會(huì)嚇跑一些 Python 愛(ài)好者晚树?
van Rossum:我認(rèn)為不至于姻采。Python 社區(qū)非常健康,Python 核心團(tuán)隊(duì)非常強(qiáng)大且充滿活力爵憎。我相信他們能夠克服這點(diǎn)小困難偎谁,并在未來(lái)幾十年里繼續(xù)推動(dòng) Python 前進(jìn),如果連這點(diǎn)自信都沒(méi)有纲堵,我也不會(huì)辭職。盡管事已至此闰渔,但這只是一個(gè)小變故席函,我對(duì) Python 的未來(lái)滿懷信心。
08:Python 在過(guò)去幾年的開(kāi)發(fā)流程是怎樣的冈涧?
你如何看待它未來(lái)的發(fā)展茂附?van Rossum:很明顯,在過(guò)去幾年 Python 語(yǔ)言發(fā)生了顯著的變化督弓。我們?yōu)檎Z(yǔ)言和庫(kù)新增了一些特性营曼,最大的變化可能在于其流行度的劇增。大約五年前愚隧,Python 都還是一門非常小眾的編程語(yǔ)言蒂阱。也正是從五年前開(kāi)始,隨著數(shù)據(jù)科學(xué)的興起,Python 有幸成為其主要工具录煤,得以廣泛流行鳄厌。這也導(dǎo)致核心開(kāi)發(fā)人員的決策壓力劇增,但是總得來(lái)說(shuō)妈踊,我們開(kāi)發(fā)和發(fā)布的方式都非常穩(wěn)定了嚎。我們有負(fù)責(zé)發(fā)布的管理人員,主要版本的發(fā)布周期大約一年半廊营。對(duì)于修復(fù) bug 的版本歪泳,根據(jù)具體情況,其間隔時(shí)間可能是幾個(gè)月到大半年不等露筒。我們有非常穩(wěn)定的 Python 改進(jìn)提案流程呐伞,也許隨著社交媒體的發(fā)展 PEP 的方式有所改變。但總得來(lái)說(shuō)邀窃,除了幾年前從 Mercurial 轉(zhuǎn)向 Git 之外荸哟,PEP 的流程一直非常穩(wěn)定,沒(méi)有出現(xiàn)過(guò)問(wèn)題瞬捕。