EarlGrey 微頭條
6月初,Python之父Guido van Rossum在今天的PyCon US大會(huì)上作了名為“Python Language”的演講。近日胜茧,他又接受了IT媒體Infoworld的采訪垢揩,大談Python的未來。我們一起來看看Guido老爹對(duì)Python的未來是怎么看的吧基括。
Python在移動(dòng)計(jì)算領(lǐng)域的應(yīng)用
Guido:移動(dòng)對(duì)Python來說仍是一個(gè)很難啃下來的平臺(tái),但是并沒有瀏覽器平臺(tái)的難度大财岔,因?yàn)镻ython實(shí)際上是可以運(yùn)行在所有品牌智能手機(jī)上的风皿。你只需要找到懂得怎樣構(gòu)建移動(dòng)版本Python的人就行了。
標(biāo)準(zhǔn)的CPython源代碼幾乎可以編譯成能在安卓和蘋果手機(jī)上運(yùn)行的二進(jìn)制文件匠璧。有很多人在朝這方面努力桐款,不斷貢獻(xiàn)著補(bǔ)丁包。不過進(jìn)展的速度比我希望的要慢一些夷恍。不過話又說回來魔眨,我本人并不開發(fā)移動(dòng)應(yīng)用,所以我沒有太多自己參與的動(dòng)力裁厅。但是我很樂于見到這方面的進(jìn)展冰沙。
Python替代JavaScript?
Guido:這并不是我們的目標(biāo)执虹。由于瀏覽器平臺(tái)的結(jié)構(gòu)問題拓挥,我們很難和JavaScript競爭,最多就是將Python翻譯成JavaScript袋励。不過通常情況下侥啤,翻譯后的程序比Python原生程序運(yùn)行的更慢当叭,相比用JavaScript編寫的同類程序則更慢。現(xiàn)在有人在嘗試將Python翻譯成JavaScript盖灸,在瀏覽器中運(yùn)行Python蚁鳖。
對(duì)WebAssembly的看法
這可能會(huì)讓在瀏覽器中運(yùn)行Python成為可能。如果它替代了asm.js赁炎,那就基本上意味著JavaScript不再是Web平臺(tái)上唯一使用的語言了醉箕,而是變成了這個(gè)類似匯編語言的東西。這和Python有點(diǎn)像徙垫,你編寫的Python代碼讥裤,其底層的Python解釋器其實(shí)使用C語言編寫的。在編譯時(shí)姻报,會(huì)把Python代碼翻譯成機(jī)器碼己英,而這中間也涉及了某種匯編語言。
如果我們無法在瀏覽器中消滅JavaScript吴旋,我們或許可以讓JavaScript成為任何希望在瀏覽器中運(yùn)行語言的統(tǒng)一翻譯對(duì)象损肛。這樣的話,或許Python和其他語言荣瑟,如Ruby和PHP治拿,就能高效地翻譯成底層的JavaScript。
WebAssembly其實(shí)對(duì)Python開發(fā)者來說是個(gè)機(jī)遇笆焰。我相信以后會(huì)有一段試驗(yàn)期忍啤,那些更喜歡開發(fā)工具的人可以有機(jī)會(huì)探索怎樣才是在WebAssembly之上運(yùn)行Python的最好方法。他們?cè)囼?yàn)成功并開始推廣之后仙辟,我們就可以和Python開發(fā)者說,“你現(xiàn)在也可以用Python編寫瀏覽器客戶端app了”鳄梅。但現(xiàn)在還不是時(shí)候叠国。
WebAssembly是一項(xiàng)由Mozilla、谷歌戴尸、微軟及蘋果聯(lián)合開發(fā)的項(xiàng)目粟焊,致力于為各種語言定義一種二進(jìn)制形式的編譯目標(biāo)格式,并設(shè)計(jì)一種可與當(dāng)前的Web平臺(tái)集成并在Web環(huán)境中執(zhí)行的方案孙蒙,最終實(shí)現(xiàn)在各類平臺(tái)上以接近原生的速度調(diào)用常見的硬件功能项棠。
Python的性能提升
Guido:Python 3的性能已經(jīng)跟上來了,比2012年時(shí)要快的多挎峦。另外香追,還有像PyPy這樣的Python實(shí)現(xiàn)。有一些新版本的Python解釋器也在試圖提升速度坦胶。
其實(shí)透典,Python的性能并沒有人們說的那樣差晴楔,而且因?yàn)镻ython大部分是用C語言實(shí)現(xiàn)的,很多事情做起來可以和C語言一樣快峭咒。我還是認(rèn)為税弃,Python對(duì)于大部分事情來說已經(jīng)足夠快了。
盡管沒有往Python 3中新增特性以改善速度凑队,但是我們已經(jīng)讓語言的很多方面變快了:比如则果,引用計(jì)數(shù)比以前快了些。主要還是優(yōu)化現(xiàn)有的代碼漩氨,但是作為用戶來說西壮,很難注意到區(qū)別。
而且如果你急需提升某個(gè)Python程序的速度才菠,可以嘗試使用PyPy茸时。它已經(jīng)足夠成熟,值得嘗試赋访。
Python為什么受歡迎可都?
Guido:主要是學(xué)習(xí)方便,使用方便蚓耽,而且社區(qū)開放渠牲、樂于助人。
Python的開發(fā)工作
Guido:目前步悠,以及過去五年多時(shí)間里签杈,主要是其他人在推動(dòng)Python的發(fā)展。我偶爾進(jìn)行一些指導(dǎo)鼎兽,判斷某個(gè)新想法是否值得接受答姥,通常是設(shè)計(jì)是否要添加新語法時(shí)。在標(biāo)準(zhǔn)庫開發(fā)方面谚咬,我很少干預(yù)鹦付。有時(shí)候,我也不得不讓大家停止討論择卦,各自妥協(xié)敲长。
我的想法是讓社區(qū)能夠自我延續(xù),這樣我就可以最終退休或者至少可以度個(gè)長假秉继。我希望未來這門語言會(huì)吸收其他語言或者其他領(lǐng)域的新理念祈噪。
我最后想談?wù)凷ciPy和NumPy。這兩個(gè)團(tuán)隊(duì)正在推動(dòng)使用Python替代Matlab尚辑。這個(gè)替代方案是開源的辑鲤,而且更好。他們正在將Python帶領(lǐng)到我以前從未想象過的領(lǐng)域腌巾。他們開發(fā)出了像Jupyter Notebooks這樣的工作遂填,可以在瀏覽器中使用交互式Python铲觉。
查看英文原文:guido-van-rossum-on-pythons-next-steps
歡迎來參加PyConChina (9/10)上海--(9/25)深圳--(10/15)北京。
點(diǎn)擊購票吓坚,或掃描下圖二位碼進(jìn)入報(bào)名頁撵幽。