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

原文地址:https://www.cnblogs.com/farwish/p/12733329.html