写了一段时间 Golang,我很纳闷,为啥 Golang 这么火

2022-05-25 19:44:45 +08:00
 sampeng

我唯一能想到的是可以换个赛道卷。 要啥没啥。。都得自己撸。。而且因为没有标准,就是完全随心所欲的写。写成什么样是什么样。除了简单,就没啥优点了。问题是太简单了,跟自动挡和手动挡之间的区别一样。看看别人实现的一些例子是很简单,但你要真的是可以用的。代码要膨胀十倍。个人感觉 golang 是把代码工程的问题交给了程序员去处理,程序员需要很大的心智去维护工程问题。。。

随便看了几个开源项目的代码,因为很多特性没有。就是各种写死。各种模版代码。。。。 别扯运行速度快。。这是优点但真不是绝对优点。谁天天写高并发代码?全世界项目都是百万级并发?

我知道存在即合理,但我真的没看出来 golang 有什么特别的亮点够他这么火。当初 php 是因为撸 web 快,现在是因为人人要撸百万级并发项目么?真的。。rust 都比他强。最少 rust 的工程性实在是解决了大量现代编程的问题。除了 rust 难学一点,但学什么不难呢?可惜,现在写 Rust 太少太少了,几乎没有求职空间。只能自己写小工具完,完全不敢在项目里面用。

13825 次点击
所在节点    程序员
124 条回复
Hanggi
2022-05-26 09:59:11 +08:00
其实问题很好,为什么 Go 语言这么火。

肯定是解决了某些人的痛点。

看看谷歌发明 Go 语言的初衷是什么。
在 Go 语言出现前谷歌大部分服务是 Java ,C++,Python 写的,这些语言有什么弊端致使谷歌不得不推出一门新的语言来应付未来的发展。
fo0o7hU2tr6v6TCe
2022-05-26 09:59:40 +08:00
如果我自己的体验没错的话,rust 玩起来比 go 难上不止那么一点
815979670
2022-05-26 10:00:53 +08:00
@Saxton 大概只是会套一层而已,硬要直接用,感觉不会有什么性能瓶颈(毕竟配合 Nginx 也只是反代?)
liuyibao
2022-05-26 10:03:42 +08:00
像字节这种公司用起来挺好的,前提是微服务架构做的比较好,能够快速部署和销毁,服务器成本应该可以降低不少。但大部分公司,你的人力成本是远高于服务器成本的,微服务搞的还没单体稳定,web 方面用 go 完全没必要,没有任何优势,就是自己瞎折腾。 我是赞同楼主的 @sampeng
Saxton
2022-05-26 10:04:04 +08:00
@815979670 用 nginx 实现负载均衡等骚操作很方便。
Saxton
2022-05-26 10:05:01 +08:00
@liuyibao "web 方面用 go 完全没必要,没有任何优势" ,参考以下 B 站。
wonderfulcxm
2022-05-26 10:06:45 +08:00
心智负担低警告⚠️
liuyibao
2022-05-26 10:08:04 +08:00
@Saxton 看一下我说的前提,你这个杠精
nicevar
2022-05-26 10:08:44 +08:00
Go 只是在这里比较火,因为这里用 Go 的人比较多,或者说 Go 吹太多,所以你觉得很火,其实国内你去看职位统计,Go 还远不如 PHP ,跟不要说 Java 了,差十万八千里
fengjianxinghun
2022-05-26 10:09:07 +08:00
j**v 用户和**thon 用户很快加入战场
liuyibao
2022-05-26 10:13:34 +08:00
换个赛道的话,建议空闲时间把英语抓起来 @sampeng
streamrx
2022-05-26 10:15:14 +08:00
rust 现在除了写区块链 几乎都没看到有公司招
pkoukk
2022-05-26 10:15:20 +08:00
因为在某些场景下实现了 跑的快 和 写得快 之间较好的平衡
dbskcnc
2022-05-26 10:18:17 +08:00
@sampeng 如果 go 的代码都看不明白了,那显然是代码组织 /逻辑的问题,这个跟语言并没有太大的关系,糟糕的不仅仅是代码本身了,你要的东西本就在代码之外。 文档,注释,code review 才能解决你说的问题。

另外 rust 肯定难流行,我不否认他的理念不错,但那已经到了洁癖的程度,洁癖有错吗?没有!取舍而已。
cheng6563
2022-05-26 10:19:11 +08:00
”除了 rust 难学一点,但学什么不难呢?“
学 go 就不难。。用 go 开发也不难。
比如随手撸一个 IO 中间件,把基础过一遍就随便写了,性能也有保障。

go 就是非 CPU 密集的场景下的 c c++的最佳替代品
janxin
2022-05-26 10:20:23 +08:00
换 Rust 卷
libook
2022-05-26 10:20:34 +08:00
国内技术发展特点跟国外各地区可能不大一样。

国内开发者的技术资讯获取渠道比较集中,一门技术如果宣传到位的话,在国内会以极快的速度传播,特别是那些有科技巨头背书的技术。
国内开发者普遍有技术焦虑,生怕自己当前所用的技术会很快被淘汰,出于自保会比较愿意学习和使用时下热门的技术,特别是很多技术的宣传都是捧一踩一,以及各种“取代论”,这种焦虑会更加强烈。
国内开发者普遍有“面向简历开发”的意识,有头部公司在使用一门新技术的话,开发者们更愿意在自己的简历中能对这种新技术有所体现。

Go 就是顺应国内的这种技术发展特点,才得以在国内变得非常热门。

因为这些特点,很多技术在国内比在国外会更早进入 Hype Cycle 的过高期望的峰值。两年前 ThoughtWorks 技术雷达也明确表示,过去技术会先在欧美地区流行,然后才进入中国,但如今反了过来,技术很可能会先在中国流行起来,然后再在世界其他地区流行起来。

其他语言难以像 Go 这样贴合国内技术发展的特点,比如宣传不到位、没有科技巨头背书或者只是单纯打不过 Go 。
但除了语言之外,很多技术在国内有着类似 Go 的发展现象,比如 Vue 、PG 、K8s ,以及 Rust 也有这个趋势(但可能不在 Web 服务领域)。

海外各地区技术会更加多样化一些,如今海外 Web 开发领域依然不乏 Python 、Ruby 和 PHP ,在国内这三种语言已经很难在 Web 开发领域找到工作了。
GeruzoniAnsasu
2022-05-26 10:24:20 +08:00
wanguorui123
2022-05-26 10:29:29 +08:00
面向工资编程
ZeroDu
2022-05-26 10:36:13 +08:00
确实,同感;写过一点就有这种感觉。对我来说优点可能就是打包部署方便。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/855285

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX