為什麼其他語言一定要和php爭個高下?不覺得慚愧嗎,人家php就是個嵌入到伺服器里的腳本,就是這樣一個適用範圍很有局限性的小工具一樣的語言,仍然佔領了網站伺服器端79%的份額,並且在最受歡迎的編程語言中名列前茅。那些什麼都能做的,號稱高性能,設計的史無前例的偉大語言 難道不應該遠超這個毫不起眼的php嗎


先講講 PHP 為什麼讓人詬病吧:

  1. 近期才加入 Lambda 表達式,語法糖少,你沒法搞儀式感沒法扯高深概念;
  2. 語法糖少也就算了,你還搞個關聯數組出來,結合了 Map 與 List 的功能,一把梭子全給你搞定了,那叫別人咋玩啊?好了,你的性能不太行吧?你這個四不像吧?
  3. 2000 年初的時候,時髦動態語言,現在不知道為啥靜態語言開始時髦了,貌似人人都是大型架構,日出 PV 百十億,引來流量幾千 T。然後再小的架構都要上 Java,然後有了所謂高大上的談資,然後久而久之就確實覺得自己真做得多麼高大上了,然後就會有優越感就能站在鄙視鏈的高層了;
  4. PHP 的函數 / 方法命名不統一——這個俺無話可說,但就是歷史包袱吧。

那為啥 PHP 的作者們要堅持不懈地努力讓 PHP 的明天變得更加美好吶?因為:

  1. 窮噴的人的言語辣眼睛,讓人印象深刻,但沉默的用 PHP 開發業務的忙著業務的人才是佔大多數,他們不發聲,你就當然聽不到他們擁護 PHP 的聲音;
  2. PHP 使用群體龐大。業務之下才是技術,能夠快捷方便地滿足業務的技術,就會有市場。反過來,如果 PHP 核心開發組哪一天萬一宣布不幹了,宣布不繼續開發 PHP 了,讓 PHP 去死了。你想想,原本沉默的龐大的 PHP 用戶群組肯定坐不住了,業務演進遇到了嚴重危機,一定會發出滔天般的反對聲,呵呵,那時候這種聲音,哪裡是現在辣眼睛的「詬病之聲」可比擬的?
  3. 辣眼睛的聲音也是好事情。PHP 開發組也是有追求的,他們也是關注當下技術趨勢與社區意見的。PHP 的面向對象機制早已今非昔比了,Modern PHP 的開發模式已經成熟,性能、架構方面的解決方案日益豐富。Type Hints(乃至 P++ Idea 的提出)也是為了團隊開發及效能提升而提出來的,即將引入的 JIT 也是為了增強 CLI 應用而考慮的。我曾經在微博提到過希望 PHP 添加 Lambda 表達式支持,這不,就有了嘛?

一句話,PHP 還很堅實,還充滿前景,所以 PHP 開發組仍孜孜不倦,社區仍充滿活力。

(補充:當然,人家詬病也並非就是心懷歹意了,畢竟每個人口味不一,但理清脈絡,認清現實,是個人需要把握住的,適不適合自己的業務需要有清醒認識,盡量避免人云亦云、隨波逐流。)


因為詬病PHP的人的境界,跟PHP開發組成員,差遠了.

就拿這次P++這個idea的討論,沒有對錯,只有喜好,你不能說強類型就一定比弱類型好.

https://externals.io/message/106503?

externals.io

https://wiki.php.net/pplusplus/faq?

wiki.php.net


php是沒有大型商業公司支持的流行編程語言,他的存在和發展,從某種角度代表著開源精神的另一種表現。

php有很多缺陷,但是並沒有停滯不前,他一步一步的走到今天,是無數貢獻者的努力。

那些黑php的調侃php的,都無所謂,但是請不要去黑那些開源作者,他們不論是技術還是奉獻精神,都遠超那些鍵盤俠。

也許有一天php會消失,但每個開源貢獻者都會被提交日誌記錄。


事實上,php真正可詬病的地方並不多,重要的是它還很有用,群眾基礎也很大,php作者為什麼不去優化呢?

詬病php的大多從函數名不統一和運行機制兩個角度來講的,但是這兩個問題,在我看來恰恰是php的優點。

1、保留歷史遺留的不規範的函數庫,可以使得很多老項目在不需要做太多修改就能升級到新版本的php上,這是一種負責任的態度,也使得php的生態建設得以承上啟下良性發展,非要像python那樣搞個斷層才算優秀?如果你就是看這些函數名不爽,可以像laravel那樣,自定義一個你喜歡的名字包起來不就行了嗎?做人不要那麼死板對不對?

2、低效率的fastcgi運行模式。這種模式本來就是以犧牲一定的性能換取開發效率的做法,php本來就是定位中小網站開發,fastcgi在模式,在單台主機,16g 32核的主機上,輕鬆做到6000qps/s的吞吐量,即便是laravel這種重型框架,優化後也能輕輕鬆做到2700的qps,試問這樣的性能,滿足不了哪家中小公司網站?把你家公司名字報出來讓我見識一下。

3、不能做長連接應用,建議了解下swoole和worker man

4、無法工程化開發大項目:了解下yii,laravel,symfony


推薦閱讀:
相关文章