PHP還是世界上最好的語言嗎?
最近看到了一個問題:PHP還能火多久?
我看到了PHPer的焦慮和不安。我並不是要在這裡班門弄斧,而是想站在一個普通開發者的角度梳理了一下個人對PHP的看法。
那是最好的時代,那也是最壞的時代!
由於PHP不能常駐記憶體(不討論swoole),在構建大型應用方面存在較大的缺陷。
底層能力比不上編譯型的語言。PHP擴充套件開發的週期、維護都比較長。直接使用C++/Go實現Linux+TCP實現高效能後臺要比PHP自由、高效率。
對於NodeJS提供的全棧角色,PHP的膠水特性,優勢已經不明顯了。從人力資源的角度講,PHP要比NodeJS價效比低!
全棧工程師。單頁應用的興起,使得經常用來套頁面的PHP在大前端時代顯得有點雞肋。最要命的是,NodeJS的開發效率整體會比PHP要好一些。NodeJS一門語言就能同時解決前後端。而且JavaScript的人氣也比PHP要高。PHP的崛起一定程度上是因為它能夠快速迭代。PHP的比較優勢沒那麼明顯了。天貓在2015年已經從PHP全面轉向NodeJS了。PHP的非同步擴充套件Swoole,也就是PHP版的NodeJS。雖然PHP本來是一門膠水語言,但是什麼都拿一點過來,顯得它力不從心了。程式導向的PHP4,在PHP5中升級為物件導向,在PHP7中新增了函式式支援。當然了,我們用C語言也可以寫出物件導向的功能。我們用C語言也可以寫出函式式的風格。但是這樣做太辛苦了。
效能問題。Java Spring MVC一直是企業級應用開發的代名詞。PHP這一類的動態語言終究還是難登大雅之堂。如果你不太喜歡Java EE又大又全的生態,Go語言是一個很好的選擇。這些主流語言的衍生語言,它們大都新增了型別提示、集合、函式式特性、自帶伺服器功能。總之就是越來越像Lisp了。靜態語言和動態語言在語法上的差異越來越模糊了。
是的,Facebook一直努力。PHP7採用HHVM以後,效能有了很大的提升了。但是由於PHP不同版本的相容性太差,Facebook最終放棄了PHP。改用自家的Hack。
PHP的分裂越來越嚴重了。各種開發者和企業都在開始逃離PHP。
古老邁向現代,是守望還是背叛?是繼續改良,還是直接拋棄包袱、徹底革命?何去何從?
這裡收集了一些有關PHP的討論:
1. 重新審視PHP(Taking PHP Seriously)
2. PHP社群的分裂(The global PHP community continues to toxify itself, and we need to halt it for the sake of our peers)
相關文章
- PHP是世界上最好的語言PHP
- 世界上最好的語言PHP 爆出高危漏洞:你信嗎?PHP
- PHP是最好的語言!PHP
- 世界上最好的語言PHP已在我掌控之下PHP
- 它是世界上最好的語言,吊打PHP那種PHP
- Scala是世界上最好的語言(一):Type Bound
- 為什麼有人說中文是世界上最好的語言?
- JS是世界上最好的語言—— 使用Electron開發桌面應用(一)JS
- “最好的語言” PHP 如何造就 Facebook?PHP
- 思否有約丨@洪光光:PHP 是世界上最好的語言,我搬著全世界最香的磚PHP
- 世界上最好的語言PHP:我也可以用OpenCV搞計算機視覺PHPOpenCV計算機視覺
- PHP還是不是最好的語言?PHP在2019年 - stitcher.ioPHP
- 為什麼說php是最糟糕的,也是最好的程式語言PHP
- 30條爆笑的程式設計師梗PHP是最好的語言程式設計師PHP
- 用世界上最好的語言開發自動化注入工具
- 世界上最好的語言搭建短連結及統計功能
- 語言是 Go 還是 Golang?Golang
- 用“世界上最好的程式語言”製作的敲詐者木馬揭秘
- F#是當今最好的程式語言?
- 用“世界上最好的程式語言”製作的敲詐者木馬揭祕
- Java、Python到底誰是最好的程式語言?JavaPython
- GO是更好的程式語言嗎?Go
- JavaScript 是真正的 OOP 語言嗎?JavaScriptOOP
- 2017.11程式語言排行:Java第一Python第四,世界上最好的語言兩個零JavaPython
- python 是開源語言嗎:Python 是一種開源語言嗎?Python
- javascript是指令碼語言嗎JavaScript指令碼
- Go 是物件導向的語言嗎?Go物件
- python是免費的語言嗎?Python
- JavaScript:世界上誤解最深的語言JavaScript
- 世界上的程式語言已這麼豐富 為什麼還不夠?
- Python vs Ruby: 誰是最好的 web 開發語言?PythonWeb
- python是高階語言嗎Python
- python是跨平臺的語言嗎Python
- 為什麼我是世界上最好的程式設計師?程式設計師
- 對於初學者來說,最好的程式語言是什麼?
- 對話專家:Go是DevOps時代最好的程式語言Godev
- java是最值得學習的程式語言嗎?Java
- python是函式式語言嗎Python函式