自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP老矣,尚能飯否?

原創(chuàng) 精選
開(kāi)發(fā) 前端
近日 GitHut 最新公布的數(shù)據(jù)顯示,開(kāi)發(fā)者在 GitHub 提交的 PR 中,所使用語(yǔ)言為 PHP 的數(shù)量逐年下降。

撰稿 | 如煙

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

“PHP是世界上最好的語(yǔ)言”,已成為承載程序員黑色幽默的熱梗。這門(mén)有著三十年歷史的編程語(yǔ)言在web時(shí)代獨(dú)享高光,近些年也伴隨著“沒(méi)落”、“將亡”的論調(diào)艱難前行。

近日 GitHut 最新公布的數(shù)據(jù)顯示,開(kāi)發(fā)者在 GitHub 提交的 PR 中,所使用語(yǔ)言為 PHP 的數(shù)量逐年下降。

圖片圖片

圖片圖片

細(xì)看圖表中的曲線不難發(fā)現(xiàn),過(guò)去 4 年,C、C++、Java、Ruby 的曲線都比 PHP 的平坦。因此有人直言:“2023 年,PHP 停滯不前”!

網(wǎng)友們的評(píng)論也是五花八門(mén),有人并不看好PHP的發(fā)展:“很多系統(tǒng)已經(jīng)不再支持它,我認(rèn)為這很能說(shuō)明問(wèn)題”;還有人認(rèn)為PHP不會(huì)涼涼:“40% 的網(wǎng)站仍在使用 Wordpress,因此 PHP 仍將存在一段時(shí)間?!?/p>

PHP 陷入停滯的原因是什么?是否真的大勢(shì)已去,無(wú)法重現(xiàn)當(dāng)年風(fēng)采?

1、Web時(shí)代,得PHP得天下

PHP作為服務(wù)器端腳本語(yǔ)言的開(kāi)山鼻祖,在2000年-2010年經(jīng)歷了最榮耀的十年,也確實(shí)稱(chēng)得上是“世界上最好的語(yǔ)言”。

當(dāng)時(shí)包括淘寶、雅虎、搜狐在內(nèi)的80%的網(wǎng)站都用PHP開(kāi)發(fā),如果聽(tīng)說(shuō)哪家互聯(lián)網(wǎng)公司的后臺(tái)不用PHP,都會(huì)覺(jué)得匪夷所思。

PHP應(yīng)Web而生,回顧互聯(lián)網(wǎng)的發(fā)展史,就不難理解PHP盛行的原因。

Web 1.0時(shí)代,互聯(lián)網(wǎng)內(nèi)容主要由網(wǎng)站自己生產(chǎn),用戶也只能通過(guò)桌面瀏覽器上網(wǎng)查看內(nèi)容,這個(gè)階段的業(yè)務(wù)形態(tài)比較簡(jiǎn)單,單體應(yīng)用足以應(yīng)付,不存在高并發(fā)等性能問(wèn)題。上手簡(jiǎn)單、開(kāi)發(fā)迅速的優(yōu)勢(shì)讓PHP變得炙手可熱。

進(jìn)入Web 2.0時(shí)代,隨著論壇、博客的出現(xiàn),用戶也能參與到內(nèi)容創(chuàng)建中來(lái),導(dǎo)致網(wǎng)站服務(wù)器面臨前所未有的流量挑戰(zhàn)。此時(shí)的PHP顯得有些力不從心,但有大公司對(duì)其性能優(yōu)化的加持,如社交軟件Facebook推出了用于執(zhí)行PHP代碼的虛擬機(jī)HipHop VM,PHP的地位依然沒(méi)有被撼動(dòng)。

在這兩個(gè)黃金時(shí)代,PHP+MySQL的“黃金組合”造就了很多經(jīng)典的開(kāi)源項(xiàng)目:WordPress、ecshop、Discuz! 等。

2、PHP走下“神壇”,優(yōu)勢(shì)變桎梏

徹底結(jié)束掉 PHP “黃金時(shí)代”的是移動(dòng)互聯(lián)網(wǎng)的到來(lái)。

在萬(wàn)物成網(wǎng)的背景下,單體架構(gòu)已無(wú)法滿足復(fù)雜業(yè)務(wù)群高并發(fā)、高可用的系統(tǒng)需求,于是微服務(wù)應(yīng)運(yùn)而生。業(yè)務(wù)的多樣化、復(fù)雜化也觸碰到了PHP的瓶頸。一方面PHP的性能成了致命問(wèn)題,另一方面其方便的機(jī)制因無(wú)法滿足新的場(chǎng)景需求,反倒成了桎梏。

微服務(wù)的出現(xiàn)對(duì)PHP有哪些影響呢?

一是微服務(wù)要輕量化,傳統(tǒng)的PHP架構(gòu)并不滿足要求。

二是服務(wù)要被多個(gè)業(yè)務(wù)端調(diào)用,運(yùn)行要足夠快;但PHP作為腳本語(yǔ)言,由于存在腳本解析消耗,運(yùn)行速度確實(shí)趕不上 java、C++ 等靜態(tài)語(yǔ)言。

三是為了滿足服務(wù)間的頻繁通信,通信協(xié)議必須高效,這樣一來(lái)很多公司傾向于使用RPC協(xié)議而非HTTP協(xié)議,但PHP架構(gòu)并不能很好地應(yīng)用RPC通信的優(yōu)勢(shì)。

四是微服務(wù)要有較為成熟的生態(tài)和框架支持,但Swoole的微服務(wù)生態(tài)并不成熟。

綜合來(lái)看,大部分公司進(jìn)行服務(wù)化時(shí),會(huì)選用主流靜態(tài)語(yǔ)言(java、C++ 以及后起之秀 golang 等)。PHP 的“C位”不保,更多用來(lái)開(kāi)發(fā)中間的業(yè)務(wù)聚合系統(tǒng)來(lái)調(diào)用這些服務(wù)。

3、新版本的發(fā)布能讓PHP重回巔峰嗎?

為了適應(yīng)當(dāng)今的開(kāi)發(fā)需求,PHP團(tuán)隊(duì)一直在努力推動(dòng)語(yǔ)言的現(xiàn)代化改進(jìn)。

近日,PHP 8.3 的推出,添加了“類(lèi)常量顯式類(lèi)型”、“只讀屬性深拷貝”,“以及對(duì)隨機(jī)性功能的補(bǔ)充”,這一系列的改進(jìn)不僅讓PHP更具競(jìng)爭(zhēng)力,也使得它更適應(yīng)當(dāng)今復(fù)雜的應(yīng)用場(chǎng)景,但也許并不能帶PHP重現(xiàn)高光時(shí)刻。

主要原因來(lái)自編程語(yǔ)言生態(tài)系統(tǒng)中的重要角色——開(kāi)發(fā)者群體。

PHP的“簡(jiǎn)單、強(qiáng)大、實(shí)用”,可以讓開(kāi)發(fā)人員專(zhuān)心面對(duì)業(yè)務(wù),但這樣卻不利于開(kāi)發(fā)人員的成長(zhǎng)。絕大部分的 PHPer 都是業(yè)務(wù)工程師,不了解設(shè)計(jì)模式、數(shù)據(jù)結(jié)構(gòu)、算法、計(jì)算機(jī)原理,無(wú)法勝任復(fù)雜的系統(tǒng)架構(gòu)。

有網(wǎng)友曾吐槽:PHP性能并非最大的問(wèn)題,PHPer的水平才是合作過(guò)程中最讓人“咬牙切齒”的槽點(diǎn)。大多數(shù)PHPer寫(xiě)了多年代碼也不會(huì)封裝,分不清變量類(lèi)型,甚至連自己的代碼也講不明白。

這也許才是PHP 生態(tài)發(fā)展中最致命的因素。

新版本的推出雖然彌補(bǔ)了語(yǔ)言自身的短板,卻彌補(bǔ)不了生態(tài)中非語(yǔ)言部分的缺陷。既然 PHP 生態(tài)在解決復(fù)雜系統(tǒng)問(wèn)題時(shí)不具備優(yōu)勢(shì),公司就會(huì)選擇其它更具優(yōu)勢(shì)的語(yǔ)言,自此便形成循環(huán),PHP難回巔峰。

4、PHP尚能飯否?

語(yǔ)言沒(méi)有最好的,無(wú)論是PHP,GO,Java,都有自己的定位,而 PHP恰好是PC Web時(shí)代最適合快速開(kāi)發(fā)Web站點(diǎn)的。

隨著技術(shù)的高速發(fā)展,新的編程語(yǔ)言、框架如雨后春筍般冒出,可能很快就會(huì)改變現(xiàn)有格局,但這并不意味著曾經(jīng)的王者就會(huì)永遠(yuǎn)地黯然失色。

首先,PHP目前依然是全球最流行的服務(wù)器端腳本語(yǔ)言之一。來(lái)自 W3Techs 的數(shù)據(jù)顯示,WordPress 在43%的網(wǎng)站上運(yùn)行,服務(wù)器端編程語(yǔ)言的網(wǎng)站中有 76.7% 都在使用 PHP。

其次,PHP對(duì)于處理Web請(qǐng)求和生成動(dòng)態(tài)內(nèi)容具有天然的優(yōu)勢(shì),其簡(jiǎn)單、靈活的特性,特別適合業(yè)務(wù)、系統(tǒng)相對(duì)簡(jiǎn)單,無(wú)需服務(wù)化、對(duì)性能不敏感、需要快速迭代的場(chǎng)景,成為許多初創(chuàng)公司和中小企業(yè)的首選開(kāi)發(fā)語(yǔ)言;另外,大公司在發(fā)展初期,大量項(xiàng)目都采用PHP作為核心語(yǔ)言,為了適應(yīng)業(yè)務(wù)的發(fā)展,會(huì)將單體項(xiàng)目中的某些核心功能拆解成服務(wù),單體項(xiàng)目調(diào)用后端服務(wù)接口,這種情況下,PHP 項(xiàng)目就成了粘合層。

最后,PHP有龐大的社區(qū)支持。社區(qū)的強(qiáng)大意味著有大量的開(kāi)源工具、框架和庫(kù)可供選擇,同時(shí)也意味著問(wèn)題的解決方案更容易獲得。

總之,PHP 在未來(lái)可預(yù)見(jiàn)的很長(zhǎng)時(shí)期內(nèi)不會(huì)沒(méi)落,它會(huì)作為中小公司的快速原型語(yǔ)言和大公司的粘合層語(yǔ)言長(zhǎng)期存在,迎來(lái)屬于它的“后黃金時(shí)代”。 

參考鏈接:

https://www.reddit.com/r/programming/comments/18hgduc/github_says_php_is_the_most_stagnating_language/

https://zhuanlan.zhihu.com/p/667402970

https://www.zhihu.com/question/442641007/answer/1726044472

https://baijiahao.baidu.com/s?id=1783339298344382156

責(zé)任編輯:武曉燕 來(lái)源: 51CTO技術(shù)棧
相關(guān)推薦

2018-11-12 08:30:47

IT技術(shù)面試

2011-06-29 09:02:13

C++

2020-02-17 14:56:24

JrebelJava生態(tài)系統(tǒng)技術(shù)

2025-01-07 08:00:00

2020-10-25 08:55:00

代碼開(kāi)發(fā)工具

2011-07-04 13:29:34

技術(shù)周刊

2015-11-24 15:17:57

谷歌回歸中國(guó)

2021-02-01 11:23:13

IBM云計(jì)算

2018-10-30 15:32:07

數(shù)據(jù)庫(kù)NoSQLNewSQL

2017-09-07 15:55:14

2010-03-05 10:50:26

王興再創(chuàng)業(yè)

2018-06-29 14:50:59

創(chuàng)業(yè)公司事業(yè)

2024-05-31 00:00:01

2018-07-12 08:41:54

大數(shù)據(jù)IT互聯(lián)網(wǎng)

2010-03-30 10:11:01

王興創(chuàng)業(yè)

2011-07-04 14:33:07

PHP

2011-07-04 14:57:56

PHP

2016-12-21 16:42:44

生態(tài) 品質(zhì)

2017-07-19 16:58:53

PHPFastCGI 內(nèi)核探索

2011-07-01 08:41:12

PHP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)