Python之父Guido談Python的未來

pythontab發表於2016-07-02

6月初,Python之父Guido van Rossum在今天的PyCon US大會上作了名為“Python Language”的演講。近日,他又接受了IT媒體Infoworld的採訪,大談Python的未來。我們一起來看看Guido老爹對Python的 未來是怎麼看的吧。

Python在移動計算領域的應用

Guido:移動對Python來說仍是一個很難啃下來的平臺,但是並沒有瀏覽器平臺的難度大,因為Python實際上是可以執行在所有品牌智慧手機上的。你只需要找到懂得怎樣構建移動版本Python的人就行了。

標準的CPython原始碼幾乎可以編譯成能在安卓和蘋果手機上執行的二進位制檔案。有很多人在朝這方面努力,不斷貢獻著補丁包。不過進展的速度比我希望的要慢一些。不過話又說回來,我本人並不開發移動應用,所以我沒有太多自己參與的動力。但是我很樂於見到這方面的進展。

Python替代JavaScript?

Guido:這並不是我們的目標。由於瀏覽器平臺的結構問題,我們很難和JavaScript競爭,最多就是將Python翻譯成 JavaScript。不過通常情況下,翻譯後的程式比Python原生程式執行的更慢,相比用JavaScript編寫的同類程式則更慢。現在有人在嘗 試將Python翻譯成JavaScript,在瀏覽器中執行Python。

對WebAssembly的看法

這可能會讓在瀏覽器中執行Python成為可能。如果它替代了asm.js,那就基本上意味著JavaScript不再是Web平臺上唯一使用的語 言了,而是變成了這個類似組合語言的東西。這和Python有點像,你編寫的Python程式碼,其底層的Python直譯器其實使用C語言編寫的。在編譯 時,會把Python程式碼翻譯成機器碼,而這中間也涉及了某種組合語言。

如果我們無法在瀏覽器中消滅JavaScript,我們或許可以讓JavaScript成為任何希望在瀏覽器中執行語言的統一翻譯物件。這樣的話,或許Python和其他語言,如Ruby和PHP,就能高效地翻譯成底層的JavaScript。

WebAssembly其實對Python開發者來說是個機遇。我相信以後會有一段試驗期,那些更喜歡開發工具的人可以有機會探索怎樣才是在 WebAssembly之上執行Python的最好方法。他們試驗成功並開始推廣之後,我們就可以和Python開發者說,“你現在也可以用Python 編寫瀏覽器客戶端app了”。但現在還不是時候。

Python的效能提升

Guido:Python 3的效能已經跟上來了,比2012年時要快的多。另外,還有像PyPy這樣的Python實現。有一些新版本的Python直譯器也在試圖提升速度。

其實,Python的效能並沒有人們說的那樣差,而且因為Python大部分是用C語言實現的,很多事情做起來可以和C語言一樣快。我還是認為,Python對於大部分事情來說已經足夠快了。

儘管沒有在Python 3中新增特性以改善速度,但是我們已經讓語言的很多方面變快了:比如,引用計數比以前快了些。主要還是最佳化現有的程式碼,但是作為使用者來說,很難注意到區別。

而且如果你急需提升某個Python程式的速度,可以嘗試使用PyPy。它已經足夠成熟,值得嘗試。

Python為什麼受歡迎?

Guido:主要是學習方便,使用方便,而且社群開放、開發者活躍、樂於助人。

Python的開發工作目前及未來是如何進行的?有什麼樣的計劃?

Guido:目前,以及過去五年多時間裡,主要是其他人在推動Python的發展。我偶爾進行一些指導,判斷某個新想法是否值得接受,通常是設計是否要新增新語法時。在標準庫開發方面,我很少干預。有時候,我也不得不讓大家停止討論,各自妥協。

我的想法是讓社群能夠自我延續,這樣我就可以最終退休或者至少可以度個長假。我希望未來這門語言會吸收其他語言或者其他領域的新理念。

我最後想談談SciPy和NumPy。這兩個團隊正在推動使用Python替代Matlab。我們的替代方案是開源的,而且更好,他們能做到的。他們正在將Python帶領到我以前從未想象過的領域。他們開發出了像Jupyter Notebooks這樣的工作,可以在瀏覽器中使用互動式Python。


相關文章