PHP & Swoole 與 Java、Go 等技術選型答疑

來自 SwooleVIP 羣內一位成員的問題

  1. 感受Swoole愈來愈複雜了,雖然特性也變得更強,惋惜在項目組裏面根本推不動,並且協程後須要注意事項也不少,稍不注意可能就是鏈接忘了回收,鏈接錯亂的風險(固然有defer之類的能夠規避)
  2. PHP的,基本上都是半路出家,或者大部分培訓機構的,不招他們進來吧,項目趕不完,招他們吧,都是得過且過的學習性格。
  3. 稍微高端一點的特性,幾乎推不動,他們還會反問,花時間看這個,爲啥不學go呢?畢竟go是官方自帶
  4. 搞得咱們如今新項目(國內龍頭電商),基本上都用Java了,也不知道咋說。。。用PHP確實太多隻會作簡單crud

Rango 回答

  1. Swoole4如今是愈來愈簡單了,如今的協程比之前的異步回調好用。你應該使用社區內成熟的框架,好比 HyperfSwoftEasySwooleMixPHP。直接基於Swoole開發很容易犯錯,這須要開發者具有更高的素質。而基於框架之上開發應用,不管是Swoole仍是JavaGo對於使用者來講難度是一致的。
  2. 大多數JavaGo的工程師其實也都是用別人寫好的框架,因此簡單。若是是自行寫一個多線程的Java框架,相似於Spring,這很困難。
  3. 也不僅是PHP的工程師是CRUD,大部分作JavaGo的程序員也同樣是在作CRUD的工做。並無什麼差異。提高對整個技術棧的理解深度、技術把控能力纔是最重要的。
  4. Swoole4 的協程 和 Go 徹底同樣,可是 PHP 語言更簡單易用。Go是強類型靜態語言,沒有泛型支持,面向對象也不完整,更適合搞底層軟件的開發,各類組件生態也沒有PHP豐富。若是你是從事服務器端應用開發用Go效率遠不如PHP
  5. 編碼、工程實踐、抽象、業務理解、服務治理(包括性能、穩定性、健壯性、可用性、可擴展性)、架構設計,這些方面的能力與語言無關,編程語言對於優秀的工程師來講只是一個順手的工具。掌握兩個如出一轍的技能,好比用 PHP、Go、Java 開發服務器後臺程序的技能幾乎是同質化的,實際上意義不大,浪費了時間
  6. PHP是不少有優點的,可讓工程師再也不花時間用在對於語言技術棧的學習上,熟練掌握PHP整個技術棧只須要2-3年便可,其餘的語言雖然功能上更強大,可是須要程序員花費更多時間用在學習語言API、運行原理、各類類庫和工具上。時間須要3-6年才能達到精通的水平。
  7. PHP工程師由於精通這門技術更容易,反而能夠把寶貴的時間投入到更高層面的工做上。PHP-FPM的健壯性是有目共睹的,算得上是工業級的技術。而Swoole目前也愈來愈成熟了,健壯性也愈來愈高。
  8. Swoole是一個幫助PHP工程師在PHP-FPMWeb編程以外功能範圍的一個擴展,PHP工程師能夠得到更大的操做空間。而沒必要花時間去從新學習一門新的編程語言技術棧,這一般須要幾年時間才能完成,而學習掌握Swoole通常來講3-5個月便可,畢竟Swoole其實也是PHP技術棧範疇以內。

關於半路出家、學歷低等問題

一個工程師是否優秀,很大的程度上取決於他的技術思考深度、持續學習能力。不少人說本身是非計算機專業、半路出家、學歷不夠高。我以爲這個並非問題,以上並不妨礙你去學習與思考。程序員

大部分人沒有到拼天賦的階段,我一直相信一萬小時理論,若是你能堅持在技術上保持專一,進行大量工程實踐,日積月累,大機率會成爲這個領域的專家。編程

Swoole 微課程

圖片描述

相關文章
相關標籤/搜索