PHP還是世界上最好的語言嗎?

panxl6發表於2017-10-08

最近看到了一個問題: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)
 

相關文章