(go语言为什么不建议学)(go支持跨平台吗)

(go语言为什么不建议学)(go支持跨平台吗)

Golang

老妖觉得目前 Go 语言并不适合在规模化项目中使用。为避免大家踩坑,总结和整理了一些 Golang 目前存在的问题,希望能有所帮助。

一、没有框架

这凸显的就是生态的问题。比如,我想搭建一套微服务框架,使用 Spring 可以毫不费力气地轻松做到;使用 Go,就得从一无所有处全部自己编写,等你规范完框架。Java 开发的程序都已经上线运行了,

在这个时间就是金钱的时代,放弃 Go 就是一个显而易见的选择了。

二、多环境部署

这在很多人看来不是什么问题。但不要忘了当年 Java 是怎么火起来的,正是靠着 Java 虚拟机实现了一次编译多环境部署。Go呢?直接就是编译成二进制文件,也就是每个不同的运行环境都要重新编译。

有人说,这不是个事,我们用 Docker 就一马平川了。我对此嗤之以鼻,我就不信从开发环境,测试环境再到生产环境就真能做到一马平川。

三、成本高

Go 还是比较新的语言,会得人很少。而且也都是大厂在招聘 Go 开发人员,我觉得 Go 语言现在的火就是大厂单方面为了自己的利益而撺掇出来的。

从招聘角度来看,一个 Go 开发人员的待遇成本比一个 Java 开发人员至少要高三分之一,且 Go 的开发能力未必就高于 Java 人员的开发能力。

从企业角度看,能使用较低的成本就达到目的,何乐而不为呢?毕竟,新的技术只有纯技术人员在追求,企业才不在乎技术是不是新的呢,只要花最少的钱赚到更多的利润就行了。

四、没有异常处理

这是一件非常扯的事情,Go 没有异常处理,是通过多个返回值来实现的。我对此不想再说什么。懂得会懂,不懂得也就不懂了。

五、没有三元运算符(?:)缺少泛型

这两个应该是一个现代化开发语言的基础,但 Go 都不支持。是 Go 觉得自己引领了世界的潮流,不需要这些东西了吗?

六、包管理

Go 语言的软件包管理绝对不是完美的。默认情况下,它没有办法指定特定版本的依赖库,也无法创建可复写的 builds。相比之下 Python、Node 和 Ruby 都有更好的软件包管理系统。

七、自动生成代码很麻烦

使用 Java,尤其是在使用 Spring 框架时,大家都知道,有很多的非业务代码可以通过工具来生成,不要小看这些生成工具,这给开发效率的加成不是一星半点的。

反过来看 Go,由于各种规则的限制,尤其各种语法糖的使用,使使用生成工具生成出来的代码极难使用,不如自己从头重新写呢。

总之,老妖极不赞成在规模化的项目中轻易地就采用 Go 开发。当然如果仅是解决某一方面的问题,那么拿来用用也许不会有什么影响。

(go语言为什么不建议学)(go支持跨平台吗)

显而易见

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者编程老妖所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(go语言为什么不建议学)(go支持跨平台吗)
本文链接:https://www.51qsb.cn/article/m8cpy.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2022-12-27
下一篇2022-12-27

你可能还想知道

发表回复

登录后才能评论