撰寫者 |像煙一樣。
PHP是世界上最好的語言“,已經成為乙個帶有程式設計師黑色幽默的熱門模因。 這門擁有 30 年歷史的程式語言在網路時代享有了自己的輝煌,近年來,它也在“衰落”和“垂死”的爭論中掙扎。 近日,Githut 發布的最新資料顯示,在 GitHub 上以 PHP 語言提交 PR 的開發者數量逐年減少。
如果你仔細觀察圖表中的曲線,你會發現在過去的 4 年裡,C、C++、J**A 和 Ruby 的曲線比 PHP 的曲線更平坦。 因此直言不諱:“2024年,PHP停滯不前”!網友們的評論也五花八門,有人不看好PHP的發展:“很多系統已經不支援了,我覺得這很能說明問題”;其他人則認為PHP不會很酷:“40%的**仍在使用WordPress,因此PHP仍將存在一段時間。 “PHP停滯不前的原因是什麼?難道大勢所趨,無法再現當年的風采,是真的嗎?
在網路時代,PHP擁有世界作為伺服器端指令碼語言的鼻祖,PHP在2024年到2024年經歷了最輝煌的十年,確實堪稱“世界上最好的語言”。 當時,包括**、雅虎、搜狐在內的80%的**都是用PHP開發的,如果聽說任何一家網際網絡公司的後台都不使用PHP,你會覺得不可思議。 PHP誕生於Web,如果你回顧網際網絡的歷史,就不難理解PHP為什麼會流行起來。 web 1.0時代,網際網絡內容主要由第一家公司生產,使用者只能通過桌面瀏覽器檢視內容,現階段的業務形態比較簡單,單個應用就足夠處理了,不存在高併發等效能問題。 易於上手和開發速度使PHP成為熱門產品。 轉到 web 2在0時代,隨著論壇和部落格的出現,使用者也可以參與內容創作,導致第一台伺服器面臨前所未有的流量挑戰。 此時的PHP似乎有些不足,但是在大公司的加持下優化其效能,比如社交軟體Facebook推出了Hiphop VM,乙個執行PHP的虛擬機器**,PHP的地位一直沒有動搖。 在這兩次中,php+mysql的“**組合”創造了許多經典的開源專案:wordpress、ecshop、discuz!等。
PHP從“神壇”上走下來,優勢被束縛住了徹底終結PHP“*時代”的是移動網際網絡的到來。 在萬物互聯的背景下,單體架構已經無法滿足複雜業務組高併發、高可用的系統需求,於是微服務應運而生。 業務的多樣化和複雜性也遇到了PHP的瓶頸。 一方面,PHP的效能成為致命的問題,另一方面,其便捷的機制因為無法滿足新場景的需求而成為桎梏。 微服務的出現對PHP有什麼影響?首先,微服務應該是輕量級的,傳統的PHP架構已經不能滿足要求了。 其次,服務應該由多個業務終端呼叫,並且執行速度足夠快但是,PHP是一種指令碼語言,並且由於指令碼解析成本的原因,執行速度確實不如J**A和C++等靜態語言快。 第三,為了滿足服務之間頻繁的通訊,通訊協議必須高效,因此許多公司傾向於使用RPC協議而不是HTTP協議,但是PHP架構並沒有很好地利用RPC通訊的優勢。 第四,微服務應該有相對成熟的生態和框架支撐,但 Swoole 的微服務生態還不成熟。 一般來說,大多數企業在進行服務化時都會使用主流的靜態語言(J**A、C++、後起之秀Golang等)。 PHP 的“C-bit”是沒有保證的,它更多的是用來開發乙個中間業務聚合系統來呼叫這些服務。 新版本的發布會讓PHP重回巔峰嗎?為了適應當今的開發需求,PHP團隊一直在努力使語言現代化。 最近,PHP 83、隨著“類常量顯式型別”、“唯讀屬性深度複製”和“隨機性補充”的加入,這些改進不僅使PHP更具競爭力,也使其更適合當今複雜的用例,但可能不會讓PHP重回高光時刻。 主要原因來自開發者社群,它是程式語言生態系統中的重要參與者。 PHP是“簡單、強大、實用”的,可以讓開發者專注於業務,但不利於開發者的成長。 絕大多數phpers是業務工程師,他們不了解設計模式、資料結構、演算法和計算機原理,不擅長複雜的系統架構。 曾有網友吐槽:PHP效能不是最大的問題,PHPER的水平是合作過程中最“咬牙切齒”的。 大多數 phper 已經寫了很多年了,他們不能封裝,無法區分變數的型別,甚至無法理解自己的**。 這也許是PHP生態系統發展中最致命的因素。 雖然新版本的推出彌補了語言本身的不足,但無法彌補生態中非語言部分的不足。 由於PHP生態系統在解決複雜的系統問題方面沒有優勢,公司會選擇其他更有利的語言,形成迴圈,PHP不會回到頂峰。
PHP還能吃嗎?沒有最好的語言,無論是PHP、GO、J**a,它都有自己的定位,而PHP恰好是PC網路時代最適合快速發展的網站。 隨著科技的飛速發展,新的程式語言和框架如雨後春筍般湧現,可能很快就會改變現有的格局,但這並不意味著昔日的王者將永遠黯然失色。 首先,PHP仍然是世界上最流行的伺服器端指令碼語言之一。W3Techs 的資料顯示,WordPress 執行在 43% 的伺服器端程式語言上,其中 76 種執行在伺服器端程式語言上7%的人使用PHP。 其次,PHP在處理Web請求、生成動態內容方面具有天然優勢,其簡單靈活的特點特別適用於業務和系統相對簡單、不需要服務化、對效能不敏感、需要快速迭代的場景它已成為許多初創企業和中小型企業的首選開發語言;另外,在開發初期,大量專案使用PHP作為核心語言,為了適應業務的發展,單體專案中的一些核心功能會被拆解成服務,單體專案會呼叫後端服務介面,在這種情況下,PHP專案就成了粘合層。 最後,PHP 有乙個龐大的支援社群。乙個強大的社群意味著有大量的開源工具、框架和庫可供選擇,同時也意味著問題的解決方案更容易獲得。 總之,在可預見的未來,PHP不會長期衰落,它將作為中小公司的快速原型語言和大公司的膠層語言存在很長一段時間,迎來自己的“後**時代”。