PHP vs Golang ? 想什么呢 ! What Are You Thinking !


 

在使用 PHP 多年之后,我對 PHP 的優勢和劣勢已經非常清楚,與后起之秀 Golang 相比,兩者已經不在一個重量級。

 

PHP 更像是 70 kg 級別的選手,腳本語言,極速開發,部署方便,性能可以。

Golang 更像是 90 kg 級別的選手,靜態語言,眾家所長,部署非常方便,性能非常好。

 

PHP 的應用主要集中在 Web應用 / API 應用 / 通用腳本。

PHP 部署方面,一般是部署源碼。FPM 依賴 Nginx 之類的 Web 服務器;

  對於常駐內存 HTTP Server 方面,Workerman 並未普及,Swoole 貼近底層而面臨未來版本升級、維護的高成本。

PHP 性能方面,中小型規模應用完全可接受,但一旦服務器數量增多,和 Java 類靜態語言的性能差距就會直接暴露出來。

PHP 服務端編程方面,只有 Pcntl 用於多進程編程,比較簡陋,Pthreads 多線程不安全,網絡編程門檻高,多數在結合框架基礎上才能夠做一些工作。

 

Golang 的應用廣闊,Web應用 / Web服務器 / 雲計算 / 區塊鏈 / 通過腳本,面對各方面都游刃有余,使用上還能帶來腳本語言般的體驗。

Golang 部署方面,既可以直接 run 文件運行,也可以編譯成二進制運行,既方便也安全。

  不依賴 Web 服務器運行,單文件就可以啟動高性能 HTTP Server,資源消耗極少;Golang 實現的流行 Web 服務器有 Caddy。

Golang 性能方面,可以媲美 C++,從一些知名項目也可以看的出來,Docker、Kubernetes、Caddy、TiDB、go-ethereum 等。

Golang 服務端編程方面,官方內置很多網絡庫,底層不依賴 C/C++ 實現,協程編程模型的 CPU 效率高、易用。

 

所以對於未來所有的新應用,我是非常建議使用 Golang 進行開發的,PHP 能做的改變不多了。

對於敏捷開發而言,技術棧的積累始終是有價值的,只要找對最合適的地方,比如:一些后台管理系統,PHP 能很好滿足這類場景。

 

我認為從 PHP 遷移到 Golang 的第一步是,用 Golang 開始寫一個項目,然后上線。

 

Link:https://www.cnblogs.com/farwish/p/12733329.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM