我今天想把自己用 go+clickhouse 写的 BI 系统开源出来并发在 v2 让更多人知道的,在发之前我习惯性的逛了一下帖子,发现有很多人对 go 语言充满了恶意。。。编程语言应该是陪伴热爱编程的程序员左右很久很久的,就像玄铁剑与杨过,就像一位不会说话但在身边一直挺你的兄弟一样。真的想不通...
1
dallaslu 2022-01-26 17:39:29 +08:00 8
语言分两种,挨骂的和没人用的。
|
2
surbomfla 2022-01-26 17:40:23 +08:00 via Android
想开点,很多语言越被人喷活的越好
|
3
mainjzb 2022-01-26 17:42:34 +08:00 1
上一个被喷这么惨的还是 java
C#这么优秀的语言从来没人喷(逃 |
4
Gota 2022-01-26 17:42:46 +08:00
别在意, 逛论坛就得自带脑内过滤器, 把无建设性意见的帖子自动忽略掉.
|
5
ElmerZhang 2022-01-26 17:43:35 +08:00
PHP 已经被人喷了 20 年了
|
6
lysS 2022-01-26 17:47:01 +08:00
“黑红也是红”
|
7
liuzhaowei55 2022-01-26 17:51:50 +08:00 via iPhone
PHP:我是世界上最好的语言。
|
8
liuxu 2022-01-26 17:58:59 +08:00 2
放心发出来小兄弟,好好一个技术社区玩尼玛尬黑,歪风邪气,发出来谁敢喷你我喷他
|
9
clrss 2022-01-26 18:15:13 +08:00
不能黑 Go 说明你还不够精通.
|
10
Immortal 2022-01-26 18:15:17 +08:00
语言门槛低就会出现这种龙蛇混杂的情况,正常
不是语言的问题,人的问题 |
11
DOLLOR 2022-01-26 18:19:03 +08:00
被喷最多还是 javascript 吧,从诞生起就被喷到今天,是个程序员都能喷。
甚至因为这个糟糕的名字,java 被喷的时候还会莫名躺枪。 |
13
bwangel 2022-01-26 18:21:17 +08:00
哪个语言没有被喷过?发霉的语言才没有。Java 被人喷过,PHP 被人喷过,有谁没被人喷过?招牌大,就一定有人喷。不就这件事嘛
|
14
coosir 2022-01-26 18:22:50 +08:00
快放地址吧,小手已经准备好 star 了
|
15
cmdOptionKana 2022-01-26 18:24:40 +08:00 via Android
喷 Go 的大部分我都仔细看了,绝大部分都可以轻易反驳,就一个泛型和一个 error 无法彻底说清楚而已。
泛型马上就有了。error 的优点缺点也摆在明面上,能不能接受就看个人了。 其实吧,讨论这些,纯粹是无聊,是茶余饭后的技术八卦而已,你怎么还认真起来了... |
16
qq1340691923 OP |
17
liuxu 2022-01-26 18:38:18 +08:00
@qq1340691923 你可以 append 帖子,会在你帖子内容下面跟着显示
|
18
qq1340691923 OP @liuxu 谢谢
|
19
Akiya 2022-01-26 19:24:15 +08:00
那么,请简述 Go 和 C#的优缺点对比
|
20
liuxu 2022-01-26 21:32:37 +08:00
@Akiya C#和 Go 都是非常优秀的语言,有各自的设计理念,没有缺点,特别是 C#,即使使用的人不多,但是语言本身的优秀是不能否定的,特别是已经开源,可以在 linux 上运行
你看我这个彩虹屁拍的怎么样 |
21
XCFOX 2022-01-26 22:01:09 +08:00 2
我个人感触比较深的是 ORM 场景。C# 有 Entity Framework 、TypeScript 有 TypeORM 、MikroORM 、PHP 有 Eloquent 、Kotlin 的 Ktorm 。看过了以上 ORM 再看 Go 的 ORM 实践就很一言难尽。
优雅的 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) ``` 这样确保了编译时类型安全但将查询条件改成了指令式的罗列,损失了简洁性。 |
22
agagega 2022-01-27 00:13:15 +08:00 via iPhone
不是遇到 Go 就喷,就被某些 Go 吹搞反了。同样的逻辑不也可以用在 Apple 版么?
|
23
ciki 2022-01-27 09:47:39 +08:00
你觉得大家在喷 GO ,你就把大家喷的点都列出来一一反驳,而不是来一句大家都在喷,我没看见大家都在喷
|
24
darknoll 2022-01-27 10:24:04 +08:00 via Android
谁敢出来喷一下 c++
|
25
NeoZephyr 2022-01-27 10:43:28 +08:00
@liuzhaowei55 现在是 GO 了
|