作者:outlier
鏈接:https://www.zhihu.com/question/20128336/answer/14066704
來(lái)源:知乎
著作權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)湿镀。
大量應(yīng)用python的website我知道的有instagr.am(django),reddit(pylons),quora(pylons),dropbox,friendfeed(tornado),當(dāng)然還有豆瓣.
目前知道的還真沒(méi)有比較成功的電商采用python,我覺(jué)得原因如下:
1.現(xiàn)在的電商都是N年前開(kāi)發(fā)的,當(dāng)時(shí)的python比現(xiàn)在更小眾.他們沒(méi)注意到python.像京東的.net,都是一些歷史遺留問(wèn)題.
2.電商的團(tuán)隊(duì),通常擅長(zhǎng)的是運(yùn)營(yíng)和市場(chǎng)方面,很少有電商團(tuán)隊(duì)里面有g(shù)eek,geek也很難融入到電商的那種氛圍中去,對(duì)于國(guó)內(nèi)的電商團(tuán)隊(duì),他們不大關(guān)注技術(shù)層面的問(wèn)題.而國(guó)內(nèi)玩python的大多是geek.
3.淘寶/阿里系的示范作用,阿里系用java構(gòu)建的web很成功.很多電商團(tuán)隊(duì)對(duì)于技術(shù)選型很保守,所以通常就選擇了java的方案.
然后談python做web的優(yōu)缺點(diǎn):
先說(shuō)缺點(diǎn),
跟php和java相比,最大的問(wèn)題還是太小眾了,你招不到合適的開(kāi)發(fā)者;
另外就是VM性能太差,跟JVM完全不是一個(gè)檔次;
還有就是多核多線(xiàn)程的問(wèn)題,python的GIL真的很爛.
還有就是類(lèi)型檢查,現(xiàn)在我寫(xiě)python遇到最多的error就是類(lèi)型錯(cuò)誤了.
優(yōu)點(diǎn):
代碼量少,開(kāi)發(fā)效率高.
入門(mén)快.web框架多,簡(jiǎn)單易學(xué).
有wsgi,可以各種折騰app server.
社區(qū)環(huán)境好,有各種開(kāi)源解決方案.
編輯于 2013-01-04收起評(píng)論取消感謝分享
收藏?沒(méi)有幫助?舉報(bào)?作者保留權(quán)利
既然提到 VM 性能差删顶,有什么好的解決辦法振定?
0贊5 年前回復(fù)贊踩舉報(bào)
拼寫(xiě)錯(cuò)誤那里有誤答渔,無(wú)論是IDE還是vim插件蚯涮,糾正語(yǔ)法錯(cuò)誤都是基礎(chǔ)功能
至于VM性能,大多數(shù)優(yōu)化良好的網(wǎng)站的瓶頸都在數(shù)據(jù)庫(kù)性能上推捐,實(shí)在是遇到語(yǔ)言性能瓶頸也可以通過(guò)用C/C++編寫(xiě)模塊嵌入來(lái)解決
0贊5 年前回復(fù)贊踩舉報(bào)
outlier(作者)
雖然有pyflakes之類(lèi)的,但還是有一些問(wèn)題,你不部署是發(fā)現(xiàn)不了的.
你通過(guò)c/c++編寫(xiě)模塊解決了,雖然這是python的特性,但我覺(jué)得但就python這個(gè)語(yǔ)言來(lái)說(shuō),他的VM性能的確有缺陷,就好像我說(shuō)一輛車(chē)動(dòng)力差,你非說(shuō)這車(chē)擴(kuò)展性好,你換個(gè)發(fā)動(dòng)機(jī)就好了....
0贊5 年前回復(fù)贊踩舉報(bào)
outlier(作者)
@狼大人,jython是個(gè)解決方案,這也是python的優(yōu)勢(shì),社區(qū)的支持太多了
0贊5 年前回復(fù)贊踩舉報(bào)
你說(shuō)的其他問(wèn)題其他語(yǔ)言也沒(méi)辦法在開(kāi)發(fā)階段解決吧裂问。而且python工程的部署本身就不復(fù)雜,很多框架都附帶測(cè)試功能牛柒,這不能算是一個(gè)問(wèn)題
就問(wèn)題來(lái)說(shuō)堪簿,他是就python開(kāi)發(fā)整體而言,為什么不能引入其他性能良好接口方便規(guī)范的組件焰络?這本來(lái)就是python作為'膠水'語(yǔ)言開(kāi)發(fā)便捷之處
0贊5 年前回復(fù)贊踩舉報(bào)
說(shuō)實(shí)在不大看好jython戴甩,ironpython的發(fā)展符喝,pypy才是未來(lái)的希望吧
0贊5 年前回復(fù)贊踩舉報(bào)
outlier(作者)
就說(shuō)一個(gè)問(wèn)題,python的vm性能怎么樣,別找借口
0贊5 年前回復(fù)贊踩舉報(bào)
從來(lái)沒(méi)有說(shuō)python的vm性能很好闪彼,但這不是用python作web開(kāi)發(fā)的缺點(diǎn)。只是反駁這一點(diǎn)协饲,你干嘛一直盯著vm不放畏腕。
0贊5 年前回復(fù)贊踩舉報(bào)
outlier(作者)
python的vm性能在做web應(yīng)用的時(shí)候的確是個(gè)很大的缺點(diǎn),比如很多人在請(qǐng)求一個(gè)動(dòng)態(tài)生成的大文件的時(shí)候,你就會(huì)發(fā)現(xiàn)內(nèi)存被使用過(guò)多,而由于VM的效率問(wèn)題,導(dǎo)致請(qǐng)求關(guān)閉的時(shí)候內(nèi)存沒(méi)有被及時(shí)回收,最后造成大量?jī)?nèi)存被占用,swap過(guò)大.極大的影響web性能.