Python在移動計算領域的應用
Guido:移動對Python來說仍是一個很難啃下來的平臺,但是并沒有瀏覽器平臺的難度大,因為Python實際上是可以運行在所有品牌智能手機上的。你只需要找到懂得怎樣構建移動版本Python的人就行了。
標準的CPython源代碼幾乎可以編譯成能在安卓和蘋果手機上運行的二進制文件。有很多人在朝這方面努力,不斷貢獻著補丁包。不過進展的速度比我希望的要慢一些。不過話又說回來,我本人并不開發(fā)移動應用,所以我沒有太多自己參與的動力。但是我很樂于見到這方面的進展。
Python替代JavaScript?
Guido:這并不是我們的目標。由于瀏覽器平臺的結構問題,我們很難和JavaScript競爭,最多就是將Python翻譯成JavaScript。不過通常情況下,翻譯后的程序比Python原生程序運行的更慢,相比用JavaScript編寫的同類程序則更慢?,F(xiàn)在有人在嘗試將Python翻譯成JavaScript,在瀏覽器中運行Python。
對WebAssembly的看法
這可能會讓在瀏覽器中運行Python成為可能。如果它替代了asm.js,那就基本上意味著JavaScript不再是Web平臺上唯一使用的語言了,而是變成了這個類似匯編語言的東西。這和Python有點像,你編寫的Python代碼,其底層的Python解釋器其實使用C語言編寫的。在編譯時,會把Python代碼翻譯成機器碼,而這中間也涉及了某種匯編語言。
如果我們無法在瀏覽器中消滅JavaScript,我們或許可以讓JavaScript成為任何希望在瀏覽器中運行語言的統(tǒng)一翻譯對象。這樣的話,或許Python和其他語言,如Ruby和PHP,就能高效地翻譯成底層的JavaScript。
WebAssembly其實對Python開發(fā)者來說是個機遇。我相信以后會有一段試驗期,那些更喜歡開發(fā)工具的人可以有機會探索怎樣才是在WebAssembly之上運行Python的最好方法。他們試驗成功并開始推廣之后,我們就可以和Python開發(fā)者說,“你現(xiàn)在也可以用Python編寫瀏覽器客戶端app了”。但現(xiàn)在還不是時候。
Python的性能提升
Guido:Python3的性能已經跟上來了,比2012年時要快的多。另外,還有像PyPy這樣的Python實現(xiàn)。有一些新版本的Python解釋器也在試圖提升速度。
其實,Python的性能并沒有人們說的那樣差,而且因為Python大部分是用C語言實現(xiàn)的,很多事情做起來可以和C語言一樣快。我還是認為,Python對于大部分事情來說已經足夠快了。
盡管沒有在Python3中新增特性以改善速度,但是我們已經讓語言的很多方面變快了:比如,引用計數(shù)比以前快了些。主要還是優(yōu)化現(xiàn)有的代碼,但是作為用戶來說,很難注意到區(qū)別。
而且如果你急需提升某個Python程序的速度,可以嘗試使用PyPy。它已經足夠成熟,值得嘗試。
Python為什么受歡迎?
Guido:主要是學習方便,使用方便,而且社區(qū)開放、開發(fā)者活躍、樂于助人。
Python的開發(fā)工作目前及未來是如何進行的?有什么樣的計劃?
Guido:目前,以及過去五年多時間里,主要是其他人在推動Python的發(fā)展。我偶爾進行一些指導,判斷某個新想法是否值得接受,通常是設計是否要添加新語法時。在標準庫開發(fā)方面,我很少干預。有時候,我也不得不讓大家停止討論,各自妥協(xié)。
我的想法是讓社區(qū)能夠自我延續(xù),這樣我就可以最終退休或者至少可以度個長假。我希望未來這門語言會吸收其他語言或者其他領域的新理念。
我最后想談談SciPy和NumPy。這兩個團隊正在推動使用Python替代Matlab。我們的替代方案是開源的,而且更好,他們能做到的。他們正在將Python帶領到我以前從未想象過的領域。他們開發(fā)出了像JupyterNotebooks這樣的工作,可以在瀏覽器中使用交互式Python。
以上內容為大家介紹了Python之父Guido談Python的未來,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://m.2667701.com/