上世紀(jì)90 年代中期,Python 的使用開始出現(xiàn)新方式,從音頻錄制和回放腳本到首次涉足 Web 開發(fā)。而后者成為了 Python 使用的主流。
上世紀(jì)90 年代 Python 在開發(fā)者之間流行,它成為快速創(chuàng)建強(qiáng)大腳本的最受歡迎語(yǔ)言。作為具備強(qiáng)大功能的腳本語(yǔ)言,它降低了很多用戶的使用門檻。
此外,Python 足夠靈活,很容易學(xué)習(xí),從而吸引了具備不同技術(shù)專長(zhǎng)的不同類型用戶。“系統(tǒng)管理員等使用 Python 執(zhí)行系統(tǒng)自動(dòng)化和系統(tǒng)編程,開發(fā)者看重 Python 的函數(shù)式編程和類的繼承等特性。而 Perl 在這方面要遜色很多。一旦人們熟悉了 Python 語(yǔ)言,況且這門語(yǔ)言比較好學(xué),他們的生產(chǎn)效率就會(huì)得到迅速提升?!?/p>
Python 的演變
Python 發(fā)布以來,出現(xiàn)過幾次大的飛躍,如 2008 年 Python 3.0的出現(xiàn)使該語(yǔ)言現(xiàn)代化,以及最近關(guān)于 Python 管理機(jī)制的重大變化。
直接導(dǎo)火線是 Python 改進(jìn)提案 PEP 572,該提案是關(guān)于給 Python 添加表達(dá)式內(nèi)賦值的語(yǔ)法,但引起了公開反對(duì)。盡管該提案的目的是寫出更高效的代碼,但開發(fā)者迎來了反對(duì)者鋪天蓋地的批評(píng),有些用戶認(rèn)為該語(yǔ)法會(huì)降低代碼的可讀性,使代碼更難維護(hù)。
創(chuàng)始人van Rossum 說他已經(jīng)習(xí)慣了關(guān)于新特性的爭(zhēng)論,但是這一次,一些批評(píng)者不妥協(xié)的態(tài)度以及針對(duì)個(gè)人的攻擊使得他下定決心退休:“技術(shù)層面持反對(duì)意見的人竟然跑到社交媒體上,大喊決策流程崩潰或我犯了重大失誤,這令我失望。我覺得自己受到了來自背后的攻擊?!?/p>
“過去,在需要對(duì) Python 做出改變或者改進(jìn)某個(gè)特性時(shí),核心開發(fā)組會(huì)討論優(yōu)缺點(diǎn)再進(jìn)行決策。不管大家是否達(dá)成共識(shí),我最終都會(huì)認(rèn)真考量并做出決定。關(guān)于 PEP572 提案,盡管存在爭(zhēng)議,但是我最終決定‘Yes,我想做這個(gè)功能’,而人們卻沒有選擇信服。這并不是反叛,不過我覺得我和核心開發(fā)者之間缺乏足夠的信任來繼續(xù)下去?!?/p>
Python 核心開發(fā)者 Mariatta Wijaya 歡迎 Python 指導(dǎo)委員會(huì)的成立,指導(dǎo)委員會(huì)將監(jiān)督 Python 的發(fā)展。
Python 的未來
盡管 Python 仍在以驚人的速度吸引新用戶,但社區(qū)中一些人已經(jīng)看到了未來面臨的挑戰(zhàn)——要想保持先進(jìn),Python 需要進(jìn)化。
在Python 語(yǔ)言峰會(huì)(PLS)上,BeeWare 聯(lián)合創(chuàng)始人 Russell Keith-Magee 提醒道:如果對(duì)移動(dòng)和新 Web 平臺(tái)的支持沒有改進(jìn)的話,Python 將面臨“生存危機(jī)”。(BeeWare 項(xiàng)目旨在使寫出的 Python 應(yīng)用可在任意設(shè)備上運(yùn)行)
“手機(jī)和平板達(dá)到的市場(chǎng)滲透率遠(yuǎn)非 PC 和筆記本電腦可比,而作為一個(gè)社區(qū),我們還沒有一個(gè)故事是關(guān)于如何在這些設(shè)備上使用 Python 的。當(dāng)筆記本電腦成為小眾設(shè)備時(shí),Python 又將面臨什么呢?”
Keith-Magee 列舉了 Python 目前在支持平臺(tái)方面面臨的一系列問題(除了標(biāo)準(zhǔn) x86 PC)。比如,Python 需要對(duì)更新的非 x86 硬件平臺(tái)提供更好的支持;Python 的測(cè)試套件在移動(dòng)和 Web 平臺(tái)上可能會(huì)崩潰;Python APP 的安裝包過大,無法壓縮為一個(gè)小的依賴項(xiàng)子集;在安卓、Windows 和 Web 上寫 GUI 代碼時(shí),asyncio 庫(kù)的運(yùn)行需要做很多努力;標(biāo)準(zhǔn)庫(kù)中的模塊數(shù)與 Python 解釋器不兼容(CPython 除外)。
現(xiàn)代芯片的處理器內(nèi)核數(shù)量不斷增長(zhǎng)(英特爾最新的服務(wù)器芯片已經(jīng)高達(dá) 48 核),Warsaw 期待看到 Python 能夠更好地在多核上執(zhí)行任務(wù)。