PHP真是「命硬」!已重回前十!

2023-02-09 18:02:05

一年一度的跳槽季又要到了。如今疫情管控放開,就業形勢或會有所回暖,不少開發者正在為「金三銀四」做著準備,那麼你知道市場需求量較大的程式語言是哪些嗎?

不久前,國外網站DevJobsScanner針對過去14個月(2021.10-2022.11)的資料進行了分析,從1200萬個開發人員職位需求中,篩選出了對程式語言有明確要求的工作機會,從中總結提煉了2022年度需求量最大的8種程式語言。

其中,Javascript/Typescript毫無懸念地佔據了主導地位,有近三分之一的工作機會需要掌握Javascript/Typescript知識,而Python和Java則分別是2022年第二和第三大需求的程式語言,C#緊隨其後。

b2d1a134f4e0acb32df888371a0120b.jpg

2022 年程式語言及其各自需求的完整圖表

比較令人意外的是,PHP位列第五。這門有著近三十年曆史的程式語言曾幾度被唱衰,但在這次調查中,研究人員發現,依然有22.6萬份工作是面向PHP的,佔比約為10%。而且值得注意的是,2021年10月,PHP在所有開發就業機會中所佔的比例約為5%,但到2022年11月,這一比例卻幾乎翻了一番。

a266394579458f281e7c8f391a726a7.jpg

一、老而彌堅的語言:曾列入厭棄前五名

「PHP是世界上最好的語言。」在程式語言界,這是一個頗有年頭的梗,甚至發展到後來,多少帶了點黑色幽默。這些年,關於「PHP將亡」、「PHP已死」的言論並不鮮見,不過時至今日,這門語言依然堅挺。

但客觀來說,依然有不少開發人員並不待見PHP,在Stack OverFlow的調查中,PHP甚至入選過最討厭的語言前五名。但一門語言能在歷史長河中存活下來,肯定是有點門道在的。

回顧一下PHP的發展歷程,不可謂不精彩,其興衰起伏可以說折射著整個網際網路的發展脈絡。

PHP的創始人是出生于格陵蘭島的程式設計師Rasmus Lerdorf。1994年,Rasmus出於自己的工作需要開發了PHP,但他在後來的採訪中透露,他從來沒有想過把它變成一種程式語言。最初,這個工具套件中並沒有任何東西是為了成為工具而設計的。

「我真的不喜歡程式設計。我開發這個工具的目的,就是為了減少程式設計的工作,這樣,我就可以簡單地重用那些我不知道如何停止的程式碼,我從來也沒有打算過要編寫一種程式語言 [……]。實際上我根本就不知道要如何編寫一種程式語言,我只是不斷地新增下一個邏輯步驟。」

但就是這種「無心插柳」的行為成為了PHP的起點。而在PC網際網路時代,PHP很快迎來了自己的榮耀之巔。

彼時,線上80%的網站都是用PHP語言開發的,淘寶、雅虎和搜狐都有PHP的身影。當時用PHP做網站前後端不分離,而HTML+CSS+JS+jQuery成為了開發者的標配技能。舉個例子,當時如日中天的社交軟體Facebook有專門的團隊對PHP做了二次效能優化。

非常適用於快速建站的PHP在當時的確稱得上「世界上最好的Web語言」。直到行動網際網路興起,一批以騰訊為代表的網際網路巨頭開始以智慧手機為依託,開發各種各樣火爆的移動APP,前後端逐漸分離,PHP也開始沒落,在隨後的幾年中,迅速被Java、Python等其它語言攻城略地。

有人感慨,在一個人人都熱衷於追逐新事物的時代,PHP就像一個不愛炒作、也不想出售故土的老人。這一論調與很多開發者心中的刻板印象十分契合,在他們心中,PHP已經停滯不前好久了。但事實上,如果你願意花一點時間去了解一下,就可以發現,PHP的官方團隊一直在持續維護迭代新版本。

如今的PHP除了在效能上有所提升外,在Laravel、ThinkPHP等框架方面也做得很優秀。

在2022年12月釋出的PHP 8.2版本中,新增支援在traits中定義常數、引入了「Random」擴充套件和「read-only」類、Disjunctive Normal Form (DNF) 型別,更新了內建web伺服器的MIME型別表,減少了各種函數返回的字串的記憶體佔用,初步支援macOS Instrument的JIT效能分析生成,為Linux啟用arc4random_buf,為隨機位元組引入Glibc 2.36以上版本。

PHP的更新節奏不疾不徐。可以看到,在新語言層出不窮的程式設計世界中,PHP呈現了一種「老而彌堅」、「壯心未已」的姿態。

二、重回前十,歸因還是賺「快」錢

當前,雖然PHP的市場佔有率有所下滑,但依舊是Web開發的主要開發語言。不久前,Tiobe公佈的2023年1月程式語言排行榜中,PHP爬到了第十位,堪稱「穩穩的幸福」。

81957046cfbce66f606eec319af08d0.jpg

Tiobe公佈2023年1月程式語言排行榜

但PHP還是經常為人所詬病。典型的一點是,PHP主要適用在中並行以下的Web專案快速開發和輕量級指令碼任務開發,對個人或創業公司建站來說或許是優選,但對於真正的大型專案來說並不適用。

簡單來說,PHP這門語言的優缺點都非常鮮明,這也造成了「恨者自恨、愛者自愛」的常態。

PHP的長處在於:

第一,新手友好,入門門檻低,利於變現:很多人自學幾個月就能做出不錯的東西,能求職、能接單。有開發者曾有感而發:「作為一個半路出家自學轉行網際網路的草根來說,我能夠成功轉行,擺脫自己不喜歡的工作到自己喜歡的工作與生活狀態,可以說完全仰仗基於PHP的幾個開源軟體。」

第二,開發速度快,開發成本低:一個小中型Web專案,一至三個月就可以出來。而且PHP的經典組合「LAMP(Linux + Apache + Mysql + PHP)」均是開源免費的,在控制成本方面立竿見影。

第三,跨平臺性強:由於PHP是執行在伺服器端的指令碼,可以執行在UNIX、LINUX、WINDOWS、Mac OS下。新發布的PHP 8.2版本 初步支援Windows for ARM64平臺上的跨平臺建立,分配JIT緩衝區Opcache靠近PHP.text欄位,以允許使用直接的IP相關呼叫和跳轉。

PHP的短板同樣一目瞭然:

第一,工作機會雖多,但整體待遇偏低:無論在一線城市還是二三線城市,PHP崗位需求量都不少,但薪資待遇只能說中規中矩,甚至普遍靠後。比較直觀的原因是,當技術處於上升期,在流行前沿,背靠巨頭好乘涼時,收入自然水漲船高,但當技術過了巔峰期,正在下坡,從業者裡的「大神」比重自然下滑,收入水平也很難提升。

第二,語言缺乏深度屬性,成長空間小。由於入門PHP不需要用到底層特性,這讓單一的PHPer很難獲得接觸底層程式碼的機會。如果不想在一棵樹上吊死,就必須在學完PHP後再去學習其他語言,比如Java、Go之類的,才能真正開啟技能拓展空間。

第三,適用範圍有限,很少用於大型專案開發。就像有的開發者認為的,PHP能開發的Java同樣能開發,比如PHP雖然也可以實現多執行緒高並行功能,但主要針對中小型網站,如果是像大型商城線上購物系統,選擇Java的實戰效果往往更好。

三、最好的語言:被唱衰的「命硬」玩家

總體來說,關於程式語言的鄙視鏈一直都有,沒有什麼語言會獲得所有人的好評。有人討厭PHP,就像有人討厭JavaScript、C++或Python一樣稀鬆平常。但不可否認的是,PHP的確非常適合Web開發,快速建站,而且入門快、成本低、開源框架多,也正如前文所提到的,它也確實提供了大量的就業崗位。

在知乎論壇,「堅持使用PHP的你,如今有什麼感悟?」這一問題下,常見的感慨是:雖然很多人以為PHP已經是明日黃花,但對於個人創業者和中小企業來說,PHP仍然是快速開發專案的首選。即使被唱衰那麼多年,PHP如今還是很活躍,就像下圖中這位朋友所描述的——真是「命硬」。

10b646c888626c66221e2844cd4da0c.jpg

知乎使用者回答節選

推薦學習:《》