Python語(yǔ)言在開發(fā)社區(qū)中的熱議簡(jiǎn)介
Python經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,很多用戶都很了解Python的實(shí)際應(yīng)用操作,這里我發(fā)表一下個(gè)人理解,和大家討論討論。希望大家通過(guò)瀏覽以下的文章會(huì)有所收獲,以下Python語(yǔ)言的應(yīng)用及開發(fā)社區(qū)熱議的介紹。
Collin Winter是Python社區(qū)一位頗具影響力的開發(fā)者,他曾是CPython項(xiàng)目的核心開發(fā)者之一、也曾是Unladen Swallow(見(jiàn)文末注釋)的核心開發(fā)者,參與了很多Python項(xiàng)目的開發(fā)。近來(lái)傳聞Google將在其新項(xiàng)目中限制Python的使用,為此有開發(fā) 者(以K表示)在Google 論壇中公開詢問(wèn)了Collin Winter,Collin Winter就很多尖銳的問(wèn)題做了解答。這篇帖子同時(shí)也吸引了很多高質(zhì)量的跟帖。
Google將在其新項(xiàng)目中限制Python的使用,無(wú)疑這將大大減少Python代碼和Python得到的支持。是否確有其事還是只是謠傳?
Collin Winter:的確,Google將限制Python語(yǔ)言的應(yīng)用因?yàn)椋篜ython不如Java和C++快,線程占有、內(nèi)存使用都很高在使用Python開發(fā) 新系統(tǒng)的時(shí)候,我們深知如果負(fù)載增加了10倍或者100倍系統(tǒng)會(huì)怎樣,開發(fā)出的服務(wù)會(huì)有多糟糕我想Python已經(jīng)發(fā)展到了一個(gè)狹縫中,因此在選擇時(shí)我們 應(yīng)當(dāng)權(quán)衡其優(yōu)點(diǎn)和缺點(diǎn),也許開發(fā)人員使用Python會(huì)很有效率,但隨著系統(tǒng)的增大卻會(huì)遇到許多平臺(tái)級(jí)的性能限制。#t#
Unladen Swallow會(huì)改變這一切么?你的期望是什么呢?
Collin Winter:Unladen Swallow旨在盡可能地將Python用在更多它現(xiàn)在尚未涉足的地方,而且Unladen Swallow也并非包治百病的靈丹妙藥。如果沒(méi)有人給Python注入投資,Python將仍舊比C和Java慢、占用更多的內(nèi)存和線程。我希望開發(fā)者 對(duì)Python的關(guān)注能夠形成一個(gè)良性循環(huán):越多的開發(fā)者感興趣、越多的公司干興趣,就有越多的投資注入,從而開發(fā)出更多的Python資源。
我認(rèn)為Python及其他動(dòng)態(tài)語(yǔ)言***的一點(diǎn)就是:許多開發(fā)者工作于不同的子系統(tǒng),但都為同一個(gè)代碼基工作。而C或者C++語(yǔ)言則不同,參與的開發(fā) 者越多,代碼基就越支離破碎。從這個(gè)角度來(lái)說(shuō)動(dòng)態(tài)語(yǔ)言更加易于sandbox操作。這種敏捷和靈活是Python語(yǔ)言的重要特性。
Python的確是比C和Java慢,但它比較起v8 JavaScript引擎如何,是否會(huì)是后者的競(jìng)爭(zhēng)對(duì)手呢?
Collin Winter:我認(rèn)為像CPython之類的應(yīng)用不可能像V8或者SquirrelFish Extreme那樣快,畢竟后兩者是專為速度而生的。我們也曾遇到一些高速性能方面的優(yōu)化卻很難配置到CPython中,因而只能放棄。作為開源項(xiàng)目的志 愿者,CPython跟V8的側(cè)重點(diǎn)不一樣:CPython強(qiáng)調(diào)的是簡(jiǎn)單,也即簡(jiǎn)單、稍慢的內(nèi)核便于人們?cè)跇I(yè)余時(shí)間維護(hù)。
對(duì)于Python的另一個(gè)項(xiàng)目PyPy我倒是有很高的期望,希望它能擺脫C-level向后兼容的束縛而提供長(zhǎng)久的性能解決方案。但這個(gè)愿望可能需要十年來(lái)實(shí)現(xiàn)。
Python為什么考慮的是人們?cè)跇I(yè)余時(shí)間的維護(hù)?
Collin Winter:CPython開發(fā)人員很少是有報(bào)酬的,幾乎全部是志愿者,而Ruby開發(fā)者卻能夠從EngineYard等贊助商那里獲得基金,因而當(dāng)他 們意識(shí)到MRI伺服web應(yīng)用很慢時(shí),他們可以更好地開發(fā)他們的VM。這也決定了我們開發(fā)的東西更加照顧大多數(shù)人的需求。
一位名叫Leon Sit的開發(fā)者在這里補(bǔ)充道:我認(rèn)為當(dāng)系統(tǒng)增大時(shí),CPython除了在數(shù)字碼方面表現(xiàn)不錯(cuò)之外其他的都差強(qiáng)人意。而且,CPython依賴C編輯器而 Windows系統(tǒng)根本沒(méi)有C編輯器。為了提高CPython的速度,就需要添加打印信息而它們涉及的語(yǔ)法卻非Python語(yǔ)言的標(biāo)準(zhǔn)語(yǔ)法。