php 和golang的区别

面试的时候有问到这个问题,最近也在琢磨这个问题。

像之前经历公司里边,有5、6个项目后台,这些后台仅仅是实现单一的功能。所以在前后端不分离的情况下,很适合php开发。

但是如果牵扯到高并发或者长链接这种场景。php 就有些捉襟见肘了。

使用php 最灵活的就是array,这种的话,在php中基本上就是万能的。但是不止一家公司对接过程中。客户端吐槽,一会array,一会object。虽然可以依靠写代码人的能力来控制,但是这终究有些假大空。


而且php太简单了,导致绝大多数phper,不会去关注底层。觉得php就是项目的一切。一个php-fpm 就是一切。


之前做一个ai 项目、语音识别长连接的形式,用的workman。按照官方文档,出现种种稀奇古怪的问题。去相关技术群交流也没有答案。也没有那个能力去深入项目底层。总之就是很痛苦。


所以现在如果让我选择的话,api接口相关我会用golang实现。后台逻辑这里基本上就是php 找个模版来实现。


多数的互联网项目其实还上升不到语言层面,多数是架构层面。但是据我现在感受,纯粹的传统业务小公司,现在越来越少了。而如果做ai相关的创新的话,ai+python 其实更能完美贴合。


之前面试聊过golang的高并发在哪里,然后讲到一个场景,生产者和消费者模式,如果需要加速消费,php 其实可以依托于supervisor 多开几个worker来实现。但是总归不如golang代码中直接 goroutine 来的方便。


另外就是定义请求响应参数+swagger 这个在golang里边很丝滑。PHP的话就是showdoc了。




评论

(= ̄ω ̄=)··· 暂无内容!

回复

邮箱