PHP 正在幹掉 Python
CSDN · 程式 ·

PHP 正在幹掉 Python

作者 | Beau Beauchamp 譯者 | 彎月

出品 | CSDN(ID:CSDNnews)

在流行文化的衝擊下,也許很多人都不贊同本文表達的觀點,但我毅然決定再一次逆流而上。我認為,雖然 PHP 百般受輕視,但這門程式語言的流行度比以往任何時候都高!

為什麼?怎麼 PHP 還沒死嗎?不是有那麼多比 PHP 更優秀的程式語言嗎?

不,並沒有。如果真的有這樣的語言的話,它們早就帶頭幹掉 PHP 了。我們需要重新審視什麼才是「更好」的程式語言。

為什麼 PHP 還沒死?如果你表示不解,那可能是因為你並不了解編程、程式設計師、市場和民主。實際上,這與代碼、函數或語法沒有任何關係。

式設計師、市場和民主。實際上,這與代碼、函數或語法沒有任何關係。
為什麼PHP還沒死?如果你表示不解,那可能是因為你並不了解編程、程

抨擊 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 的真正原因是,我們固有的狂妄自大和赤裸裸地嫉妒。

頭幹掉PHP了。我們需要重新審視什麼才是「更好」的程式語言。

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 在功能上是一門非常強大的語言,特別是它的庫可以用在數據科學或其他側重於數學計算的地方,這些情況下精度是必須滿足的要求。

的程式語言嗎?不,並沒有。如果真的有這樣的語言的話,它們早就帶

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 語言讓普通人也可以編寫有效的代碼。簡單、沒有特殊要求、弱類型、不需要編譯,就可以運行。

為什麼?怎麼PHP還沒死嗎?不是有那麼多比PHP更優秀

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。

,雖然PHP百般受輕視,但這門程式語言的流行度比以往任何時候都高!

總結

作為工程師,我們都喜歡使用自己熟悉的語言,而且我們喜歡對自己不熟悉的技術嗤之以鼻。

各個高校都在嘗試將 Python 作為通用的商業語言。但實際上,Python 更適合運行伺服器、數據科學、處理大型複雜數字,乃至加密貨幣的挖礦等。

而 PHP 是大眾語言,它已成為網際網路事實上的語言。

所以,如果你喜歡,可以繼續抨擊 PHP,繼續鄙視它。但無論怎樣,PHP 仍然是迄今為止網絡上使用最廣泛的語言,隨著 WordPress 的持續飛速增長和 PHP 7 和 8 的新速度,這種地位在短期內不會改變。

參考連結:

https://beau-beauchamp.medium.com/php-is-killing-python-2be459364284

下,也許很多人都不贊同本文表達的觀點,但我毅然決定再一次逆流而上。我認為

《新程式設計師003》正式上市,50餘位技術專家共同創作,雲原生和數位化的開發者們的一本技術精選圖書。內容既有發展趨勢及方法論結構,華為、阿里、字節跳動、網易、快手、微軟、亞馬遜、英特爾、西門子、施耐德等30多家知名公司雲原生和數位化一手實戰經驗!

出品|CSDN(ID:CSDNnews)在流行文化的衝擊
作者|BeauBeauchamp譯者|彎月
聲明:文章觀點僅代表作者本人,PTTZH僅提供信息發布平台存儲空間服務。
喔!快樂的時光竟然這麼快就過⋯
繼續其他精彩內容吧!
more