热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHPvsGolang?想什么呢!WhatAreYouThinking!

 在使用PHP多年之后,我对PHP的优势和劣势已经非常清楚,与后起之秀Golang相比,两者已经不在一个重量级。 PHP更像是70kg级别的选手,脚本语言,极速开发,部署方便,性能

 

在使用 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 开始写一个项目,然后上线。

 

Refer:PHP_vs_Golang大家怎么看

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


推荐阅读
  • 安全等于运算符()这个操作符和操作符执行相同的比较操作,不过可以用来判断NULL值。在两个操作数均为NULL时,其返回值为1而不为NULL;而当一个操作数为NULL时,其返回 ... [详细]
  • 章作者:luxianghao文章来源:http:www.cnblogs.comluxianghaop6807081.html 转载请注明,谢谢合作。免责声明:文章内容仅代表个人观点 ... [详细]
  • 常见的几种虚拟机文件格式如表5-2所示,表里包含了开放虚拟化通用文件格式、XenServer、VMware、Microsoft三大厂商的自已开发的文件格式。表5-2常 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
  • 朱晔的互联网架构实践心得S1E7:三十种架构设计模式(上)【下载本文PDF进行阅读】设计模式是前人通过大量的实践总结出来的一些经验总结和最佳实践。在经过多年的软件开发实践之后,回过头 ... [详细]
  • 线程概念在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列指令序列”;一切进程至少都有一个执行线程;  进程  VS. 线程  ... [详细]
  • 临界|被覆_Linux下线程同步(带你了解什么是互斥锁死锁读写锁条件变量信号量等)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux下线程同步(带你了解什么是互斥锁死锁读写锁条件变量信号量等)相关的知识,希望对你有一定的参考价值。线 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 模块化区块链生态系统的优势概述及其应用案例
    本文介绍了相较于单体区块链,模块化区块链生态系统的优势,并以Celestia、Dymension和Fuel等模块化区块链项目为例,探讨了它们解决可扩展性和部署问题的方案。模块化区块链架构提高了区块链的可扩展性和吞吐量,并提供了跨链互操作性和主权可扩展性。开发人员可以根据需要选择执行环境,并获得奖学金支持。该文对模块化区块链的应用案例进行了介绍,展示了其在区块链领域的潜力和前景。 ... [详细]
  • HyperledgerComposer环境安装1.安装基本软件包**如果使用Linux安装HyperledgerComposer,请注意以下建议:以 ... [详细]
  • 区块链_喜讯 | 区块链云科技获得厦门市科技局首笔研发补助款
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了喜讯|区块链云科技获得厦门市科技局首笔研发补助款相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
APP精品限免大全_312
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有