python為什麼不適合web開發
python不適合web開發的原因:
1、效能堪憂。
寫個http server僅僅就輸出hello world,單機跑出一千的qps都夠嗆。而用netty,golang,nodejs隨便就上萬了。
而對於網際網路的web應用來說,效能就是生命線。qps上不去,使用者就會覺得卡頓,卡頓了還談個屁的使用者體驗。
當然也有一些方案可以增加效能,比如用非同步的tornado。但玩過之後發現稍好,效能依然比上面提到的技術低一個檔次。還有很偏門bjoern wsgi可以極大的提高http的效能,但這高出來的部分,是因為bjoern是用c寫的。但,一旦執行到用python寫的業務程式碼時,又慢得跟截肢了似的。
效能低應該有兩方面的原因,
a.因為python的預設實現是單執行緒,並且很多重要的模組就不支援多執行緒。所以利用多核較為困難。當然也不是沒有辦法,比如用多程式來利用多核。但多程式用起來還是不那麼順手。
b.python的實現效能不夠好吧。JavaScript當初也慢的可以卡出翔,後來google出手,搞出V8引擎,立即JavaScript快如閃電。最早的Java也是慢的跟蝸牛似的,後來SUN找牛人搞出了Hotspot虛擬機器後,Java的效能立即發生質的飛躍。PHP最近都有極大的效能提升。但Python就是一直這麼慢
2、Python的跨平臺開發比較麻煩。
Python下要想實現跨平臺開發非常麻煩。
一些擴充套件包在windows下安裝極其麻煩,比如PIL這個著名的影像處理包,在windows上要找到這個安裝包都不容易,而且這個包已經不維護了,被一個叫pillow的包接替,但氣憤的是pillow這個包和PIL居然不是100%相容的,還需要一些小改動。
另外的,有的包根本就不提供windows版,比如kyotocabinet,一個著名的的kv儲存引擎。這讓人非常頭疼。
現在團隊基本所有的人都是用windows開發,但程式部署卻是在linux上。
最終大家解決問題的辦法是在windows上裝個linux虛擬機器,在虛擬的linux的上開發,這樣就可以保持伺服器和開發環境一致了。但這樣也是夠麻煩的,效能嚴重打折,虛擬機器和物理機之間切換也極度麻煩。
更多Python知識請關注欄目。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3137/viewspace-2833944/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為什麼說Docker 不適合跑 MySQL?DockerMySql
- 為什麼Linux不適合你?(轉)Linux
- 為什麼Linux不適合你? (轉)Linux
- c++為什麼適合桌面軟體開發?C++
- 學python可以做Web開發嗎?python適合Web開發嗎?PythonWeb
- Python為什麼叫爬蟲?Python為什麼適合寫爬蟲?Python爬蟲
- 什麼人適合學習web前端?怎樣學好web前端開發?Web前端
- 為什麼學習Python?什麼途徑學習Python合適?Python
- 初學Python有什麼開發工具合適?Python入門!Python
- python和Java哪個更適合web開發?PythonJavaWeb
- Python和Java,哪個更適合web開發?PythonJavaWeb
- 什麼是Web開發?如何成為一個Python Web開發人員?WebPython
- 為什麼 ReactJS 不適合複雜的前端專案?ReactJS前端
- 哪些人更適合學習Python?為什麼?Python
- 為什麼要選擇Python進行Web開發?PythonWeb
- 為什麼Python適合初學者 學Python大概要多久Python
- 為什麼朝九晚五不適合創意工作者
- PHP和Python哪個更適合Web開發?Python學習!PHPPythonWeb
- 為什麼前端開發這麼不穩定?前端
- python開發的前景如何?Python適合做什麼?Python
- 為什麼python建立檔案打不開Python
- 什麼樣的人合適學習Python?Python
- 開發Web應用為什麼要用TypeScript?WebTypeScript
- 您適合從事web前端開發嗎?Web前端
- 小白適合學Python嗎 怎麼加入Python開發行列Python
- 什麼樣的人不適合當程式設計師?程式設計師
- 學習Python開發難不難?哪些人適合學習Python?Python
- 為什麼要選擇Python進行Web開發?記得收藏!PythonWeb
- Python爬蟲為什麼需要海外HTTP代理?怎麼挑選適合的?Python爬蟲HTTP
- 為什麼Kubernetes天然適合微服務?微服務
- 為什麼 kubernetes 天然適合微服務微服務
- web開發|如何選擇合適的webui框架WebUI框架
- Python適合不適合零基礎學習呢?Python
- 什麼樣的人不適合當程式設計師呢?程式設計師
- python到底適不適合大型專案呢?Python
- 為什麼 Python 這麼適合 AI 和機器學習?4 位專家給你答案PythonAI機器學習
- 為什麼要學習Python語言?哪些人適合學習?Python
- Python Web開發需要學習什麼?Python基礎!PythonWeb