PHP 正在干掉 Python
導讀:隨著 WordPress 的持續飛速增長和 PHP 7 和 8 的新速度,這種地位在短期內不會改變。
作者:Beau Beauchamp,譯者:彎月
本文經授權轉自公眾號CSDN(ID:CSDNnews)
在流行文化的沖擊下,也許很多人都不贊同本文表達的觀點,但我毅然決定再一次逆流而上。我認為,雖然 PHP 百般受輕視,但這門編程語言的流行度比以往任何時候都高!
為什么?怎么 PHP 還沒死嗎?不是有那么多比 PHP 更優秀的編程語言嗎?
不,并沒有。如果真的有這樣的語言的話,它們早就帶頭干掉 PHP 了。我們需要重新審視什么才是“更好”的編程語言。
為什么 PHP 還沒死?如果你表示不解,那可能是因為你并不了解編程、程序員、市場和民主。實際上,這與代碼、函數或語法沒有任何關系。
01 抨擊 PHP 成為了一種時尚
如今,為了在編程的圈子內走紅,你就必須抨擊與“主流文化”吹捧的編程語言有競爭關系的語言。這與語言本身的功能無關,只是因為文化,就有點像宗教。
程序員是一群固執己見的人,非常傲慢,但我們必須克服這些缺點。我們喜歡抨擊我們不喜歡和不使用的編程語言。你會發現有些工程師說 Java 很糟糕,有些說 C# 很糟糕,而有些則說 Go 很糟糕。至于具體是什么語言根本不重要,總會有人批評。
此外,還有一種更深的鄙視,最近這段日子 PHP 和 Python 之間默默地展開了一場較量,似乎學術界正在策劃一場陰謀:干掉 PHP,讓 Python 取而代之。
如今,你甚至會發現在一些維基百科的頁面中,LAMP 技術棧中的 P 居然神奇地變成了 Python。20 年前,在我使用LAMP 的時候,這幾個字母指代的可是 Linux、Apache、MySQL 和 PHP,當時的 P 指的可是 PHP,而不是 Python,甚至不是Perl。我并不是說這些定義不能改變。也許是我的疑心太重了?不夠包容?還說 Python 占據了 PHP 的位置?
對于我們大多數人來說,大學里學習了 Python,還有其他一些實際工作中可能永遠也用不到的小眾語言。雖然我們的老師或其他菜鳥會說:“PHP 很糟糕”,但也許他們中的大多數人從未編寫過一行 PHP 代碼。
事實上,你甚至可能會懷疑是否真的有人從事專業的 PHP 編程工作。普通人對 PHP 的不屑一顧實際上并不合邏輯,而且也不是發自內心的。只不過,與朋友在咖啡館聊天的時候,我們習慣于一起鄙視某些明星、網紅或者 PHP。
此外,還有一些編程純粹主義者,他們愿意浪費寶貴的時間吹毛求疵,討論 PHP 如何糟糕。大多數這樣的爭論都會圍繞個人的偏好,或者他們不喜歡的細微差別,為的是宣傳自己喜歡的編程語言,并希望這些語言一統天下!
他們的抱怨沒完沒了:
PHP 的類型很弱,而且還有很多糟糕的代碼。
Javascript 和 Node.js 又何嘗不是呢?你不是一樣在用?
PHP 的函數太多了。
有些人就連這都要抱怨,是因為太方便了嗎?
函數名不一致。
當一種語言真正做到民主化,而不是由哪個“專家高手”憑一己之力一手編寫而成,就會出現這樣的問題。
可見,他們對 PHP 的批評通常都源于個人偏好,或者只是雞蛋里挑骨頭。要是這么說的話,我們也可以針對Python、C#、Java、Go、Javascript 或其他任何語言挑出相同的毛病。作為程序員,我們喜歡抱怨,滿腹牢騷。
但作為程序員,我們喜歡抨擊 PHP 的真正原因是,我們固有的狂妄自大和赤裸裸地嫉妒。
02 PHP更容易使用
PHP誕生于 90 年代中期,甚至在我們中的一些人出生之前。我從 2000 年初開始使用 PHP,當時的版本正在從 4 向 5 過渡,后來我開始使用 CodeIgniter、ZendFramework,在自己的框架中編寫應用。
我認為 PHP 長盛不衰的原因,也是這門語言不會消亡的主要原因是,它不僅嵌入到了各類新舊應用程序中,也嵌入到了新老程序員的腦海中,他們使用 PHP 已經長達幾十年了。我們不會離世,我們編寫的商業代碼也不會消失。
有趣的是,Python 誕生于 1991 年,那時PHP 還沒有出現。雖然 Python 的生命更長,但它的采用未能達到 PHP 如今的水平。
為什么??
在我個人看來,與 PHP 相比,Python 使用起來很痛苦。這個問題在 Python 3 中有所緩解,但在 15 年前,Python 還沒有各種開箱即用的、“花里胡哨”的函數,遠比不上 PHP。你必須手動安裝很多功能。
此外,我發現 Pyhon 還有一個問題,而且這個問題一直延續至今,那就是空格。我討厭使用空格作為分隔符的語法。我希望按照自己喜歡的方式分隔代碼,而且不希望編程語言礙手礙腳。無論你再怎么說得天花亂墜,代碼是我的,我想怎么寫就怎么寫,誰也管不著。
Python一直吹噓自己的空格語法“易于閱讀”,但這不過是營銷的空話罷了。我個人認為,Python 使用了最糟糕的語法,還不自知。
這種自以為是的語法很容易引入錯誤。最初,在 IDE 能夠所有這些問題之前,我相信沒有程序員喜歡這種語法。至少我個人就不喜歡。這也是幾十年來該語言的采用率一直很低迷的部分原因。其實就是因為這種語法對用戶不夠友好。
此外,我認為早年間人們并不知道 Python 的存在。它作為一種腳本語言嵌入到 Linux 發行版中,這就是它的主要用途。沒有人會跑出來大喊道:“我可以用 Python 構建網站了!”
事實上,雖然我們可以用 Python 做網站,但優秀的工程師都知道 Python 的強項并不是做網站。除了我個人對語法的偏好之外,Python 在功能上是一門非常強大的語言,特別是它的庫可以用在數據科學或其他側重于數學計算的地方,這些情況下精度是必須滿足的要求。
03 PHP是任何人都可以使用的語言
我同意,在過去的 15 年間,Python 推出了許多更新,并超越了 PHP,只不過這些更新晚了十年。
2008年發布的 Python 3 實際上打破了向后兼容性。Python 2 的代碼無法與 Python 3 一起運行,你需要做一定的修改。但是,如果有一百萬行代碼需要更新,那就沒戲了,尤其是在企業環境中。
公平地說,PHP 7 和 8 也破壞了一些 PHP5 的代碼(沒有 PHP 6)。我是ZendFramework 1 社區的一員,該社區幫忙更新了運行在 PHP 7 和 8 之上的框架。幸運的是,在將 ZF1 升級到 PHP 7 和 8 時,我的企業遺留代碼幾乎沒有損壞。所以,大部分 PHP 5.6 代碼仍然可以向后兼容。
但也許真正幫助 PHP 一炮而紅的事件是,一家成立于 2005 年的名為 Automattic 的小型初創公司。
WordPress剛開始的時候很不起眼,但它不僅改變了開發人員,而且也改變了普通人發布網站的方式。
到目前為止,最好的發布選擇是 Drupal、Joomla 或其他一些BBS 軟件。但這些軟件使用起來都很痛苦,因為編寫這些軟件的人的思考方式更接近程序員,而不是普通用戶。
如果 WordPress 是用 Python 編寫的,那么可能 PHP 真的會走下坡路。但我敢說,Python 會阻礙 WordPress 的迅速崛起,甚至完全阻止。
采用以及擴展貢獻者的支持將關系到語言或應用程序在開源市場中的生存。而易用性是刺激采用率迅速上漲的關鍵。
作為一名受過大學教育的軟件工程師,無論你如何詆毀 PHP,都無法否認 PHP 不僅受到了專業軟件工程師的青睞,而且就連兼職人員、家庭主婦、平面設計師、公司經理、企業家和小學生都能使用計算機編寫網頁。
可以說 PHP 是信息時代的 BASIC(語言)。
作為一名軟件工程師,你的思考方式必然和軟件工程師一樣,而不是那些只想利用有限的時間和資源為自己的小企業建立一個網站的人。
而 WordPress 和 PHP 改變了這一切。
WordPress本身很容易使用,但功能很有限。普通人可以利用 WordPress 的插件架構,編寫很小的 PHP 代碼片段,他們不需要重寫整個類或成為軟件工程師來完成這些工作。
數以百萬計的業余程序員通過 WordPress 在網絡上與其他人分享他們的成功,并發展了這個平臺。
通俗易懂的 PHP 語言讓普通人也可以編寫有效的代碼。簡單、沒有特殊要求、弱類型、不需要編譯,就可以運行。
04 PHP與互聯網
15年后的今天,PHP 為 78% 的 Web 提供支持。僅 WordPress 就占所有網站的近 40%,并擁有近 2/3 的 CMS 市場份額!關鍵是Python 希望占有這些市場的 10%!盡管 Python 純粹主義者對 PHP 充滿仇恨,但 Python 僅占 Web 的不到 1.5%。
有些企業客戶的招聘人員曾聯系過我,他們希望刪除所有的 Python Web 代碼,并換成 PHP。你可能會感到很震驚,但其實這種情況應該更多。為什么?因為老實說,Web 不是 Python 的主戰場,Python的主要用戶是數據科學和其他專家,而且有這方面經驗的人才供不應求。
通常公司需要靈活。當需要擴大團隊或有人離職時,他們不可能花費數周或數月來尋找新的 Python 人員。而且 Python 工程師也很貴。
對于小型企業來說,尋找 PHP 程序員要容易得多,而且如有必要甚至可以進行培訓。關鍵是你可以找到擁有數十年經驗的高級 PHP 架構師,比找相應的 Python 人員要容易得多。
關鍵是,如果你在一家公司工作,如果沒有正當理由就想用 Python 編寫網頁或中間件,那么就會遭到責備。因為公司會為此背負上 Python 代碼,將來他們需要花費巨額資金來刪除這些代碼,并用正確的工具替換。
應用程序架構師的首要工作是,針對企業的實際情況,選擇最有效的技術。不能因為網上非常流行,或者是學校里教了某種語言,你就根據自己的喜好來選擇。
我建議完全用 Python 編寫 SaaS 應用程序的情況非常少,考慮到 Python 的 Web市場份額,似乎大多數應用程序架構師都會選擇正確的語言。他們會在 Python 最擅長的領域選擇 Python,并根據 PHP 的最大優勢選擇 PHP。
05 總結
作為工程師,我們都喜歡使用自己熟悉的語言,而且我們喜歡對自己不熟悉的技術嗤之以鼻。
各個高校都在嘗試將 Python 作為通用的商業語言。但實際上,Python 更適合運行服務器、數據科學、處理大型復雜數字,乃至加密貨幣的挖礦等。
而 PHP 是大眾語言,它已成為互聯網事實上的語言。
所以,如果你喜歡,可以繼續抨擊 PHP,繼續鄙視它。但無論怎樣,PHP 仍然是迄今為止網絡上使用最廣泛的語言,隨著 WordPress 的持續飛速增長和 PHP 7 和 8 的新速度,這種地位在短期內不會改變。
參考鏈接:
https://beau-beauchamp.medium.com/php-is-killing-python-2be459364284
本文轉自公眾號“CSDN”,ID:CSDNnews
延伸閱讀👇
延伸閱讀《PHP核心技術與最佳實踐(第2版)》
干貨直達👇
重磅盤點!2021年最受歡迎的技術干貨,全在這里了
2021年,朋友圈都在傳這8個視頻
如何平衡存儲系統的一致性和可用性?
漫畫:數據中臺中臺建設的十大誤區(建議收藏)
更多精彩👇
在公眾號對話框輸入以下關鍵詞
查看更多優質內容!
讀書?|?書單?|?干貨?|?講明白?|?神操作?|?手把手
大數據?|?云計算?|?數據庫?|?Python?|?爬蟲?|?可視化
AI?|?人工智能?|?機器學習?|?深度學習?|?NLP
5G?|?中臺?|?用戶畫像?|?數學?|?算法?|?數字孿生
據統計,99%的大咖都關注了這個公眾號
👇
總結
以上是生活随笔為你收集整理的PHP 正在干掉 Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是数字孪生?有哪些关键能力?
- 下一篇: 从0到1详解数据挖掘过程