PHP為什麼這幾年在走下坡路?

蒐羅小天地


但PHP是增長還是下滑的,18年以來我還真不知道。前天見了李開復的門生丁吉昌,“php是世界上最好的語言”這個梗,是丁吉昌2016年的時候第一次聽他說的,他用java比較多。

坦白說,我並不喜歡php這個語言,但當時沒有比它更好的選擇。大概在05年到07年,被趕鴨子上架,php4+mysql3,做了一個年交易額比較巨大的全球性交易網站。因為當時mysql還麼有事務的支持,php4蹩腳的類設計,這是一段比較痛苦的經歷,但憑藉自己過硬的基礎,第一次非常幸運地能夠嶄露頭角。

基本上我的職業生涯也因此被定型了,專攻電商業務系統。php5之後類的設計才稍微舒服了一點,性能也得到極大優化,因此我們才敢在php做的系統中大規模地使用類設計。因為php解決複雜業務系統的案例不多,只好閱讀和借鑑java的源碼。

自從有了命名空間之後,甚至是php7之後我才認為php終於成為了一種專業級的語言了。

我對php的價值認可基本上是因為它的性價比。在中小型電商項目中,它依然是最佳的選擇。

至於目前我的編程能力,簡單點說就是,任何複雜度的業務系統,基於任何語言,不借助任何框架,能把系統做好。

希望能對你有所啟發。


超級小碼哥


我是從PHP3過來的,然後是PHP4,PHP5和現在的PHP7。

我不是專業專職程序員所以沒有做過大項目小項目倒是做了無數。

我覺得PHP的優勢就是簡單隨意,很容易就能滿足基本需求。

當然也有不足的地方就是對於底層的操作力不從心,所以我都是配合CPP(LINUX)和Object Pascal (Windows)一起使用,幾乎無所不能,我所遇到過的項目統統都是覆蓋住的。

好不好是看能不能滿足需求的,對於我來講是正面的答案,沒不沒落不好說,起碼我能預想到的需求都可以在CPP和Object Pascal的協助下迎刃而解。


湯米喵


記得我之前有一個做人事的朋友告訴我,近幾年前端工程師的薪資水平,好像快趕上後端工程師的水平了。

這樣的說法,雖然有失偏頗,但也從另一方面,反應出了前端近幾年越來越吃香。而後端,讓人感覺越來越不行了。

PHP作為近幾年的熱門後端開發語言,首先被貼上了走下坡路的標籤。

誤解

這個問題,也代表了絕大多數人的感知,但這種感知,是很容易被外界事物所欺騙的。這裡我舉兩個例子加以說明。

例子一:

2017年8月,有一款叫《王者榮耀》的遊戲火變了全中國,然而僅過去短短4個月後,許多人開始唱衰這款遊戲,認為這款遊戲已經死了,沒人玩了,因為新的遊戲——絕地求生系列已經崛起,取代了他老大的位置。

例子二:

2016年前後,VR開始火爆起來,各種利好消息鋪面而來,什麼某某做VR的公司上市了,某家知名企業開始研究VR產品,甚至各種各樣的VR產品,也都如雨後春筍一般冒了出來。

然而事實並沒有因為主觀思想,而發生變化。吃雞遊戲是火了,但王者榮耀依然穩坐老大的位置,用戶量是吃雞遊戲的幾倍至多。VR利好消息不斷,卻沒有因此成為如手機一般的存在,熱度一過,迅速被人們淡忘。

  • PHP在走下坡路?

PHP並不是衰落了,而是趨於穩定了。幾年前,市場在資本的驅動下,PHP需求自然與日俱增,從最開始的遊戲資訊站、移動互聯網、APP應用,到後來的P2P、金融互聯網。井噴的後果就是衰落,網站倒閉多了,PHP需求自然看起來就降低了不少。

實際上,PHP是一門為WEB而生的語言,只要互聯網還在,短期內很難有什麼語言能夠取代他。

就算是哪一天PHP真的衰落到沒有公司用的地步,這麼多年融入其中的技術沉澱與思想,是不會磨滅的。

去看看PHP的解析器底層代碼,再看看新湧現出來的語言底層內核代碼,是有想通相融的東西。如果PHP沒落了,獨屬於PHP自己的編程基因,一定會在未來的某個宿主中重生。

更何況,PHP走下坡路是個假象。

——摘自W3Cschool學員的回答


W3Cschool


php程序員總是把“PHP是世界上最好的語言。”這句話掛在嘴邊,php對他們來說,既是一種技術信仰,又是一種已經被證實過的,便捷的業務方式。

在傳統互聯網發展之初,php的語言優勢也與網頁端的發展相得益彰,實際上,毫不誇張的說,我們訪問的絕大多數網站後臺都是由php語言編寫,並且,許多手機app後臺也是由php語言開發,如果說php在走下坡路,那麼我們是否應該反問,網站技術和手機app技術是否在走下坡路呢?


1、php作為穩定、優秀的後端開發語言,仍是當下技術流公司的首選

互聯網技術的熱潮總是一陣一陣傳播,php曾經大熱過,然而技術圈迭代太快,python、go語言等新技術層出不窮,有了這個鮮明對比,就會顯得如今的沉寂特別蕭條。但是,php作為大多數程序員心目中最好的語言,它的實力從來不需要外界跟風炒作來驗證。

php作為穩定、優秀的後端開發語言,仍是當下技術流公司的首選。中小型網站後端開發選擇php,手機app後端開發選擇php,php的穩定性和兼容性,是新興語言所不具備的。


2、鐵打的php流水的新興語言

php為互聯網行業服務已久,贏得了“世界上最好的語言”這一榮譽稱號,隨著智能手機行業的火爆,ios和安卓語言開始火爆。沒過多久,前端語言又開始大行其道,緊接著,技術流吹起了區塊鏈風,人們又一窩蜂跑去研究開發區塊鏈的語言。風向轉了這麼一圈,越發顯得php無人問津。

事實上,作為穩定的後臺語言,需要用到後臺的地方,都有php語言的身影。就連大熱的微信公眾號,也有php的功勞。我們所使用的各種功能齊全的服務號,都可以用php語言來開發完成。


3、網站和app作為一個整體,是多種語言合力開發的結果

整體的力量大於局部,這個簡單的道理相信很多人都懂,放在互聯網開發領域同樣適用。一個功能齊全的網站,是無法靠單一語言開發完成的,要有完善的用戶體驗,一定是前端語言和後端語言合力發展的結果,手機app同理。

如此看來,php更像一塊基石,默默地為高樓互聯網奠基,雖然不出現在人前,但卻扮演者非常重要的角色。


我是吳懟懟,虎嗅、36氪、鈦媒體、產品經理等專欄作者、前澎湃新聞記者,專注互聯網科技文娛解讀,更多深度解讀,歡迎關注我的頭條號。


吳懟懟


並不是你們想象的那樣

我本身就是搞PHP的,php作為開發語言,本身一直在進步,從php5.3到php5.6,到現在的php7,php一直在進步,性能一直在翻倍。經常看到網上很多人拿java和php對比,其實我覺的沒什麼意義。為什麼這麼說,php一開始設計的時候,就是希望出現一種能夠快速開發web的語言,開發快那就犧牲點性能,畢竟不是所有的公司都像BAT那麼大。php開發快速的優點在中小型企業或者說中小型項目中很受歡迎,但是受近年來的python、go等影響,確實php已不是世界上最好的語言了,php和python都是解釋型語言,性能都比不上像java、c那種編譯型語言,但是作為web開發,php還是佔很大的市場份額的,加上韓天峰開發的swoole,彌補了php的不足,php開始慢慢越來越好了。

走下坡路的原因

下面看下TIOBE近年來php的排名情況

  • 2010年3月排名第3

  • 2017年1月排名10

  • 年度語言:2004年

可以看到大概從2010開始,php的排名一直在下跌,中間也有小起伏。大概也是2010左右移動互聯開始興起,移動互聯網對傳統web的衝擊,導致一開始為開發網頁而生的php產生了很大的影響。很多大公司用php開發的項目,開始用java、go等語言重構,導致很多後來很多小公司開始效仿,或者直接不用,我想這也是下滑的原因吧。但不管怎麼樣,從2014年到目前為止,php的排名還是很穩定的,大概第7名左右吧。php第一人鳥哥正在努力開發php,致力於使php越來越好,我相信php會越來越好的。

修煉內功的程序員


之所以感覺PHP這幾年在走下坡路,是由於人工智能的興起,帶火了python。

PHP擅長的是web開發,而現在web開發的需求量相對人工智能的需求量在下降。

更何況這些年,除了java,還有ruby,nodejs,go等語言的競爭。

PHP由於入門門檻比較低,初學者比較多,因此廣大程序員認為使用其他語言更高大上一些,能夠和那些菜鳥區別開來,因此更傾向轉語言。

編程語言好不好用主要看運行性能和架構能力,而編程語言處理實不實用得看技術成熟度,Go、Python再好用,人才招不到也是白瞎……Java、PHP雖然是老人了,但哪個公司現在敢說我們現在完全不用了。

但其實任何一門語言都有它的優勢和缺點。做web開發,並不應該糾結於使用哪門語言。只要用最合適的語言就好。


互聯網技能圖譜


php在走下坡路是錯覺,形成這種錯覺的原因是近幾年大量新的語言產生,php的排名顯得略有下降,但如果綜合這幾年的排行,會發現各種語言來來往往,就像網絡口水歌曲,流行一時,但消褪得也快,比如早期的delphi,後來的ruby等等,而java,c系列,php等,雖有起伏,但總是佔據在前幾位。php7和swoole的出現,給php補全了許多不足,賦予了新的能力。

其實討論這個問題是沒有意義的,能解決實際問題的就是好的語言,再簡單點說,能幫你掙錢的就是好的語言。畢竟我們都是要吃喝拉撒的凡人,不是嗎?


碼農讀史


其實PHP沒有走下坡路,反而我覺得有上漲的趨勢,我個人是這麼認為的,我非常不認可近幾年唱衰PHP的人,”PHP是世界上最好的語言”這句話貌似是一個梗,但是你轉變一下,多加幾個字,“互聯網小型項目上,PHP是世界上最好的語言”,是不是就通順了。

現在的移動互聯網領域的發展速度驚人,從而演變出來的領域也不斷的增多,

現在的大部分官網、小程序、小型電商項目都是使用PHP的開發的,因為其開發速度快,成熟的框架,更多的模塊化,和詳盡開發文檔,各行業的案例、任何遇到的問題都可以通過百度和谷歌查詢,這就是語言的優勢,還有很多非常豐富的資源和平臺,PHP雖然也有很多語言的先天不足,但問題大都是體現在大型應用上,比如高併發、多線程的能力上,不過我我相信PHP在互聯網行業的語言巨頭,在短期內很難被其它語言替代

Python看似很火,語言本身確實也非常簡單,入門相對也簡單容易理解,代碼量也少,但在他的幾個關鍵應用領域,確需要非常專業的知識儲備,提高了准入門檻,大數據、人工智呢、爬蟲等等不單單是學會語言本身的語法就可以遊刃有餘的,其它語言在一般項目中注重邏輯比較多點,而Python更多的是算法!所以不建議大部分人盲目投入到Python行業中。


三叨


我所設計的產品,就是我們公司的產品主要數據語言還是PHP,為什麼?

因為我們屬於中小公司,需要的是需求的快速實現,不斷的迭代。如果我們有龐大的數據載體,如現在的今日頭條、淘寶、京東等,需要多種數據語言相互結合來實現


PHP在前幾年同樣火爆,原因對於互聯網人都知道,簡單、快速、高效、好維護。實現前後端皆可。而現在流行python,主要原因是因為人工智能AI技術的平民化應用。

在有的互聯網公司不被認可,認為Java穩定,加上Java語言長久些,大多數公司也會選擇Java。對於後起之秀PHP一方面有嫉妒心理,一方面對於老互聯網人有敵意心理。有時也就不被重視。

PHP其實作為一種開發語言,在我看來,在對的階段對的人上使用是合情合理的。一個幾個人的小公司,如果不快速實現,想的過於長遠不利於產品的快速運營。而發展到一定階段,感覺數據上相對冗餘,需要維護,配合其他語言Java等同時維護是可以的。大平臺的數據語言都不是以一種為主。

所以,對於PHP走下坡路來講,顯然不太合理。更應該是在對的階段、對的時期、對的人身上還是有同等效果的。python等語言火爆也是基於AI平民化,但是需要PHP配合嗎?也需要。給每一種語言的創作者我們都要有信心。PHP依然會有很長的路可以走。我看好多種語言。“大家可以多關注我,我會提供更多的乾貨”


醫療pm產品汪


我認為PHP能迅速發展起來,正式因為他獨特的語法特點,如:若類型語言、強大的關聯數組、免費開源、開發效率高等等,使開新手更容易入門,實現自己想要的功能,這就導致PHP迅速流行了起來。


對於成長型企業來說,選擇PHP能夠快速迭代項目,而不用投入更多資金預算,但等企業規模發展到一定程度後,PHP語言的缺點就暴露出來了,我總結了一下幾點:


  1. 若類型語言看似很好,但在開發階段程序員不注重細節,很容易導致bug出現,如:字符串0和整形0在PHP做比較運算時,是相等的,但在java語言裡,結果是不相同的,所以強類型語言調用PHP的api接口時應注意這些問題;

  2. 方法參數通過關聯數組傳遞時,隨著業務的複雜性越來越大,參數經過N多個方法傳遞並加工後,很有可能把參數中的字段精簡掉或增加新字段,這就會導致出現數組下標不存在或數據庫插入時出現多餘的列問題;

  3. PHP開發api時,返回的數據中,假如某個key代表一個空字典,PHP用一個空數組表示,java用空對象表示,PHP通過json_encode返回數據時,該key就被理解成了空數組,這就導致java語言對數據類型理解錯誤;

  4. PHP的特點是語法簡單,入門快,所以就導致很多人不去考慮軟件的設計模式,一些強類型語言的經典設計方案不能得到應用和推廣,如:java語言的多態,在PHP中是無法實現的;

以上幾點都是我在工作中實際體會到的,雖然說每個問題都有很好的解決辦法,但是面對一個迭代了8年左右的老項目,也不是一時半會的事兒。


總的來說,PHP在公司剛起步時很不錯,到了中期,在預算充足的情況下,我建議儘早選用其他語言重構,或者PHP和其他語言共存,用PHP去做用戶交互部分,其他語言做底層服務是很不錯的選擇。


分享到:


相關文章: