为什么 Go 语言使用者会非常反感别人批评 Go 语言?

2022-01-22 12:37:55 +08:00
 iseki
真的好奇怪,发帖评价使用体验都变成了不被允许的行为。动不动就是指责别人包含其他程序语言的偏见,指责别人不懂 Go 的“大道至简”…
我是个 Kotlin 吹,我吹 kt 时也是抱着语法糖和库吹,可别人有理有据反驳时我也不会表现出 Go 用户一样的行为。
总而言之部分 Go 语言使用者给我的感觉更像是粉丝而不是用户,很好奇这是什么原因造成的。
10065 次点击
所在节点    程序员
112 条回复
Wenco
2022-01-22 19:23:06 +08:00
是时候祭出”沙雕心得“了。。。
Gkont
2022-01-22 19:43:13 +08:00
@admirez 我是新晋 delphi 大佬有什么教程或者资源分享一下嘛?
XCFOX
2022-01-22 19:47:47 +08:00
有一说一,Go 语言是真的破烂。

拿 ORM 场景举例来说。
正常(TypeORM)是这样的:
```
const article = await articleRepository.findOne({ title:"Tales of Ten Worlds",published:true });
```
从 文字表里取一篇文章,取出来的变量直接从 findOne() 函数里传出来,非常顺畅。

Go (gorm) 语言是这样的:
```
var article Article
db.Where(&Article{Title: "Tales of Ten Worlds", Published: true}).First(&article)
```

先声明 article 为 Article ,再传指针到 First() 里,一下子打破了函数式编程的 「没有"副作用"」「不修改状态」的教条,这里将 article 的类型改为其他也不会有编译时错误。

或者这样(ent)的:
```
article :=client.Article.Query().
Where(article.TitleEQ("Tales of Ten Worlds"),article.PublishedEQ(true)).Limit(1)
```
这样确保了编译时类型安全但将查询条件改成了指令式的罗列,损失了简洁性。

Go 语言自身的缺陷也是对开发者的限制,比如 Go 语言的 ORM 和 C#、php 、TypeScript 之流比就显得 too simple 。
DeWjjj
2022-01-22 20:07:18 +08:00
因为 go 太过限定了,那些被限定在某一个方向上的语言都容易被诟病。
为特定场景而生,为其他场景而死。
DeWjjj
2022-01-22 20:09:32 +08:00
@yuzhibopro 我也是 C++,痛并快乐着。
快乐在工资,痛在工作上。
admirez
2022-01-22 21:06:08 +08:00
@Gkont 快转行!
windseekerjack
2022-01-22 21:14:53 +08:00
@XCFOX 不建议用 gorm ,工作用公司开发的组件,自己的项目建议 sqlx
xfriday
2022-01-22 21:28:41 +08:00
你标题起的就很阴阳怪气,“他们的问题更大”这句话也适用你(我不用 go )
abersheeran
2022-01-22 22:02:19 +08:00
只会一种东西的,是看不得别人喷这样东西的,因为你否定了这个等于否定了他的全部技术。
shayuvpn0001
2022-01-22 22:15:26 +08:00
@admirez 这个。。。Delphi 还活着啊
sodayo
2022-01-22 23:05:43 +08:00
我是一个 Java 开发者,在我看来,现在的 go hater 正如从前的 Java hater 。作为和 golang 毫无关系的一员,我认为起码在 V 站,开贴抨击 golang (绝大部分理由站不住脚)然后给反驳的 go 开发者扣帽子的情况更普遍。
chengxiao
2022-01-22 23:22:42 +08:00
因为大部分批评 Golang 的 就会说语法语法,但是说语法问题的人,大部分是根本就不写 Go 的人,或者是只写了 1-2 天然后发现脑子不够用,不会写 Go ,然后跟风吐槽的。

语法嘛,无它,熟悉了习惯了其实你就不会怎么去吐槽他了

而且大部分这样的人都是 Java 的,这部分人我觉得是真的卷的没边了,活该 java 这么卷,自己不去学习不去研究一下其他语言,天天在这没事发帖引战

从黑 Python 性能不行,到黑 Node 依赖管理差,再到黑 PHP 找不到工作,然后到 GO 这发现我操,性能上黑不动,部署起来超方便,工作待遇还挺高,咋办?黑他语法!!!

看看楼上留言,什么 Go 的都是以前 PHP 的,什么 Gopher 很多都是狂信徒 ,这种言论都能出来的人,是有多脑残啊
Daming
2022-01-23 01:16:51 +08:00
批评不正好说明还有热度。
你看看 C#,都是要被遗忘节奏了。
windseekerjack
2022-01-23 01:30:31 +08:00
@Daming 有意义的热度才能促进社区,这种只会扣帽子,毫无干货,一问具体遇到什么问题又不回复,打嘴仗的热度只让人烦
javaisthebest
2022-01-23 01:36:53 +08:00
你喷 js 学不动 jser 表示和你一起喷
你喷 java 啰嗦 javaer 表示你说的对
你喷 python 缩进反人类 pythoner 也会认同你

你要是喷 go 简陋 你看看 goer 怎么喷你的
documentzhangx66
2022-01-23 01:37:52 +08:00
这种事情我见得最多了。

早期经历过:

1.部分苹果手机用户,讨厌别人批评苹果手机。
2.部分 C#或 Java 用户,讨厌别人批评 C#或 Java 。
3.部分 Mysql 用户,讨厌别人批评 Mysql 。
4.部分 Windows 或 Linux 用户,讨厌别人批评他所使用的操作系统。

经过我仔细观察,我发现:

1.只拥有苹果手机的用户,大概率讨厌别人批评苹果手机。但如果同时拥有苹果与安卓手机的用户,反而希望大家能指出问题,从而避免踩坑。

2.只懂 C#或 Java 用户,大概率讨厌别人批评他使用的编程语言。但如果同时熟练好几门不同编程语言的用户,反而希望大家能指出问题,从而避免踩坑。

.....
iseki
2022-01-23 02:53:39 +08:00
标题起的不好确实我的锅,一下子打击了一大片,不太客观。
可问题确实存在,可能是我经验比较少,混论坛的时间也比较短,没见过其他语言的使用者有这种现象,大多数都是如 #72 楼所述的一样,要么大家一起喷(开玩笑)要么就有理有据的讨论问题,就 go 的帖子动不动说人引战。有人提 if err 看着不爽就不行了,就是引战了;有人提没泛型异常就你不懂大道至简,引战了。你要一和他讨论这种现象,他就和你说你咋不去看看调度器垃圾回收什么的,天天纠结语法如何如何···
可能是我资历比较浅,真没看有其他什么语言天天为这种事矫情的。
iseki
2022-01-23 02:57:53 +08:00
说实话啊,go 用了大半年了,go 的设计有些东西是真不想提,没完没了的吐槽挺没劲的,看到这种帖子也就直接划过去了,可就是不明白为什么总有一群 go 用户如同宗教一般狂热,你只要指出 go 哪里看不顺眼,他就要开始喷你
iseki
2022-01-23 03:00:52 +08:00
@documentzhangx66 可能确实我资历浅了,见的比较少,我虽然天天吹 Kotlin 吹 PG ,但是我个人还是把他们当工具看的,别人要是喷我也不会在意。但是你要是喷 miku 那搞不好就要互相喷一喷了~~~
windseekerjack
2022-01-23 03:06:36 +08:00
@iseki 你倒是说你工程实践中遇到什么问题?有什么解决办法,你觉得 go 做的不优雅的地方,别竖着语法的靶子打,那你去用 lisp 去,也别说生态不行,那就去用 java/c#去。全是情绪输出能给点干货吗?

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

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

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

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

© 2021 V2EX