Python 是否是下一个 PHP?为什么?
前幾天和一個看好 Python 的 Rails 開發者聊天,他看好 Python 的原因就是 PHP 統治今天的網絡應用開發。而 Python 很像下一個 PHP 。
『下一個 PHP』如何定義?是指流行程度么?如果是的話,我覺得 Python 不會像 PHP 那樣流行。根本原因在與部署難易程度。
PHP 從語言層面上講幾乎是一無是處,具體實現的質量也乏善可陳,但它勝在最要命的部署上:沒有任何其他語言有像 PHP 一樣適合大規模部署的方式。基本上裝好 Apache/mod_php 之后,PHP 應用的部署就簡化為了復制文件。即便是考慮到性能原因等采用 nginx/FastCGI 等替代方式,額外的工作也只是在于最初配置。一旦配置完成,之后的部署都是文件復制。服務器重啟后通常會自動啟動 apache/nginx,fastcgi manager 負責啟動 php-cgi 進程等,而 PHP 應用基于文件的調用方式并不需要操心更多的維護。這對于如 Dreamhost 之類的平臺來說至關重要:他們通常要一臺服務器處理成千上萬的低流量用戶,而且這些用戶沒有 root 權限去運行其他進程。PHP 腳本的生命周期很短,沒有常駐進程,每次調用之后就被終止,對于應用作者的要求更低,不用太多的考慮資源管理問題。
這和 Python 之流的部署有天壤之別:大部分 Python 的網絡應用如 Django, Tornado 等都需要單獨的常駐進程(Apache/mod_python 似乎是個杯具)。這些進程需要額外的維護工作以管理其啟動、停止,也需要額外的監控進程處理意外退出后的重啟。這需要用戶對系統有更深入的了解。常駐進程需要占用系統內存,通常不可能在一臺服務器上運行成百上千個應用,對于 Dreamhost 這樣的服務提供商來說不適合用來處理諸如 WordPress 博客之類的簡單應用。常駐進程也要求作者對系統資源的管理、垃圾回收機制等有更深入的了解以避免內存泄露、資源占用過度等問題。現在 Python 網絡應用部署最簡單的應該是 App Engine,采用了類似 PHP 的生命周期(請求處理 30 秒限制,超時被終止,無法運行常駐進程),極大簡化了管理難度,但是國內無法訪問…
所以從流行程度上講,Python 不會超過 PHP,因為數量龐大的服務提供商無法用 Python 支撐現有的用戶規模。但是這個流行程度對于創業公司、專業人士來說沒有什么意義。很多核心的網絡應用不適合用 PHP 的短暫請求處理機制實現(比如準實時 push 提醒、網頁即時聊天等),而更加適合由常駐進程來處理。這些才是 Python,Ruby 等語言實現發揮其能量的地方。
python的強大之處在于語言的簡潔與優雅, 以及它強大的表達能力. hacker們愿意使用python來作為他們表達思維的方式.?
在web開發上面, 正如上面Rio所言, python部署成問題, 但是對于商業網站而言, 自己處理一臺vps不成問題. 而python的通用性, 能保證完成各種非常規的應用.
簡單地說, 如果你只是需要web1.0的內容展示網站, 考慮php, web2.0, 可以考慮python, 以及RoR.
轉載于:https://www.cnblogs.com/easn/archive/2011/09/23/Python-php.html
總結
以上是生活随笔為你收集整理的Python 是否是下一个 PHP?为什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WCF - Session 剖析
- 下一篇: 改水电多少钱啊?