Python 之父講述退位緣由,以及 Python 的將來將何去何從。java
在 Python 社區,Python 的發明者 Guido Van Rossum 被稱爲 「仁慈的終生獨裁者」(BDFL,Benevolent Dictator for Life)。今年 7 月 12 日的時候他忽然宣佈退位了。消息一出,一時間震驚了整個 Python 世界。當時他以 PEP 572 改進提案的爭吵事件爲例,代表其退出原因。Guido van Rossum 於 1990 年發明 Python,他相信 Python 這門語言即便少了他的領導也依然能持續發光發熱。現年 62 歲的 van Rossum 是一名 Dropbox 的首席工程師,近日他接受了外媒 InfoWorld 的採訪。python
01:你爲何辭去 BDFL 職務?編程
van Rossum:所謂的終生和獨裁都僅僅是玩笑。實際上,最近十年,退休的念頭都在我腦海裏徘徊。我年齡已經不小了,身體也有一些問題。做爲 Python 社區的主要負責人,我須要一遍又一遍地去教社區的其餘成員如何開展工做,同時須要一遍又一遍地向 Python 新人解釋 Python 的語言哲學,這樣超負荷的工做讓個人健康情況更爲惡化。事情的引爆點在於一個頗具爭議的 Python 改進提案(PEP 572),當我接受這個提案以後,Twitter 等社交媒體上出現了一些中傷個人評論。而更爲心寒的是,這些評論竟然大多來自 Python 的核心成員,我對他們失望至極!app
02:你能談談 PEP 572 提案的好處以及它爲何如此充滿爭議嗎?編程語言
van Rossum:該提案提出了一種新的語法,它容許表達式內賦值。總得來講,這是對 Python 語言的一個小補充。開發人員若是須要的話,能夠在表達式中進行賦值。不少編程語言都有這個小功能,好比我熟悉的 C 和 C++。據我所知,Java 和 JavaScript 也支持。它是一種至關小的語法,但在某些狀況下,它可讓代碼編寫變得更容易,而且經過刪除冗餘可以提高代碼的可讀性。不少人以爲本身熟知 Python 的設計理念,他們認爲該提案沒有遵循 Python 的設計原則。該提案引起爭議的另外一個緣由在於其做者本身的失誤,以前幾個版本就存在一些嚴重的問題,所以這一次,即便以前認同其基本理念的人也投了反對票。但這只是一個輕微的句法變化,並不激進。工具
03:該特性將包含在哪一個版本的 Python 中?ui
van Rossum:它將出如今 Python 3.8 中。Python 3.8 將於一年半後發佈。此前咱們曾發文探討過爲什麼 Python 的速度如此之慢,在這一更新版本中,Python 3 啓動慢的問題將會是 CPython 核心團隊主要解決的問題之一。spa
04:會有一個新的 BDFL 嗎?
Python 後續將如何管理?van Rossum:很抱歉,目前確實無可奉告。實際上,我給核心開發團體(擁有提交權限的 100 多人)指定了一項任務,讓他們思考從此的管理模式並選出新的負責人。他們在解決 Python 問題的同時,須要認真完成該任務。這可能須要長期討論,短時間內很難達成共識。令我高興的是他們欣然接受了這個任務,並制定了任務進度表。他們會在 2018 年 10 月 1 日前完成提案的收集。而後,在 2018 年 11 月 1 日前,他們會從衆多提案中選出最終的管理方案。而後到 2019 年 1 月 1 日,他們會整理好管理方案的相關文件,並選舉或者任命新的負責人。若是有提案指出須要 BDFL,則該提案必須對其詳細說明,好比如何選舉 BDFL,BDFL 任職時長,以及 BDFL 的彈劾機制。我想最快 10 月 1 日,最晚明年 1 月 1 日,將會產生一名新的 BDFL。設計
05:Python 的核心成員都有誰?
van Rossum:Python 的核心成員有不少。好比 Brett Cannon,他是一位真正的大神。又如 Tim Peters,做爲個人良師益友,他提出了「Python 之禪」,生動地詮釋了 Python 的編程哲學。另外,Barry Warsaw 也是核心開發人員之一。視頻
06:將來你將在 Python 項目中擔任怎樣的角色?
van Rossum:我將成爲一名普通的貢獻者或者核心開發者。偶爾會編寫或者審查代碼。此外,我將嘗試專一於核心開發人員的指導工做上,尤爲是新的核心開發人員、女性或者少數民族人士。由於我我的很推崇核心開發人員的多樣性。
07:做爲曾經的 BDFL,你以爲本身的離開會不會嚇跑一些 Python 愛好者?
van Rossum:我認爲不至於。Python 社區很是健康,Python 核心團隊很是強大且充滿活力。我相信他們可以克服這點小困難,並在將來幾十年裏繼續推進 Python 前進,若是連這點自信都沒有,我也不會辭職。儘管事已至此,但這只是一個小變故,我對 Python 的將來滿懷信心。
08:Python 在過去幾年的開發流程是怎樣的?
你如何看待它將來的發展?van Rossum:很明顯,在過去幾年 Python 語言發生了顯著的變化。咱們爲語言和庫新增了一些特性,最大的變化可能在於其流行度的劇增。大約五年前,Python 都仍是一門很是小衆的編程語言。也正是從五年前開始,隨着數據科學的興起,Python 有幸成爲其主要工具,得以普遍流行。這也致使核心開發人員的決策壓力劇增,可是總得來講,咱們開發和發佈的方式都很是穩定。咱們有負責發佈的管理人員,主要版本的發佈週期大約一年半。對於修復 bug 的版本,根據具體狀況,其間隔時間多是幾個月到大半年不等。咱們有很是穩定的 Python 改進提案流程,也許隨着社交媒體的發展 PEP 的方式有所改變。但總得來講,除了幾年前從 Mercurial 轉向 Git 以外,PEP 的流程一直很是穩定,沒有出現過問題。
做者:菜鳥Python
連接:https://www.jianshu.com/p/3b5fd4d2f441