[月经贴] golang 能否完全替代 c++?

2020-05-25 02:01:13 +08:00
 wangyzj

不考虑 c,只考虑 c++

不考虑嵌入式

先说我的个人观点

我觉得能。虽然性能略逊,但研发协作效率更好

我也是 golang 萌新,大家再来各抒己见吧

17863 次点击
所在节点    Go 编程语言
142 条回复
chihiro2014
2020-05-25 11:57:08 +08:00
每个语言都有它存在的道理。想替换 C++,太难。Go 其实是个比上不足,比下也不足的产物。想去替换 C++但是根本做不到。因为底层 rust 的性能远比 go 来的强,rust 都做不到,更何况 go 呢?如果是上层应用,比如 web,又比不过 java 。Web 后端开发,能有 java 更快的么。所以其实 go 还是蛮尴尬的,个人见解
beidounanxizi
2020-05-25 12:02:07 +08:00
为了 go 我可以放弃 JAVA 取代不取代 这个话题 太容易钓鱼了🎣
si
2020-05-25 12:05:01 +08:00
完全替代是不可能,如果排除掉某些,那也不叫完全了。
如果只是单纯要拿来替代,不考虑其他问题和成本,那大部分情况下都是可以的。
大部分语言在大部分情况下都可以被别的语言代替。C++可以被 go 替换,Go 也可以被 C++替换
一般个人写某门语言不爽了,随时可以换其他语言重写。但一个公司那么多人,不会出现某个员工觉得用某某语言不爽,叫公司换语言。只有遇到因为语言的严重的缺陷导致的问题,才会考虑。
一个用 C++的公司,招的员工都是用 C++的,一般都是熟悉 C++,不熟悉 Go,你问他们选择用什么,那肯定是选择熟悉的 C++。
ppphp
2020-05-25 12:06:43 +08:00
@wangyzj 客户端服务端完全不是一个领域,不多解释了
wangyzj
2020-05-25 12:10:01 +08:00
@sryanyuan 你说的是真理,不过从未来选型角度和人才输出来看,我才会发出此疑问
wangyzj
2020-05-25 12:13:43 +08:00
@chihiro2014 你这个说的在理
go 生存在一个半低层区域,至于说做 web 应用,主要是我特别不喜欢 java,但我也承认生态上 java 是无敌的
wangyzj
2020-05-25 12:15:32 +08:00
@si 😆你这个回答让我意识到我的确标题用的不好,完全替代我自己都不相信,应该看能占据多少份额
wangyzj
2020-05-25 12:18:53 +08:00
@ppphp #64 客户端的话 unreal 我听说用的 c++,unity 用的 c#,这种就是生态问题了
tulongtou
2020-05-25 12:30:13 +08:00
@fixend 十多年前,JSP, Spring, struct, hibernate, EJB 都被你吃了?
fixend
2020-05-25 12:48:27 +08:00
@tulongtou 10 多年前用 jsp 的知名网站有几个?你给我列举 10 个。
cumt21g
2020-05-25 12:48:46 +08:00
go 没可能,rust 有可能
tulongtou
2020-05-25 12:54:39 +08:00
@fixend 企业级应用基本都是 jsp 的,庞大的 JavaEE 市场你都不知道嘛?
levelworm
2020-05-25 12:57:35 +08:00
@wangyzj unity 引擎本身还是 C++吧
tulongtou
2020-05-25 12:59:18 +08:00
@zachlhb go 从设计底层来说,就不适合写 UI 类型的应用。其次 kotlin 直接编译成 jvm 的字节码,和 Java 无缝衔接,Android 切换到 kotlin 开发没有什么成本,换 go 的话成本高多了
bojue
2020-05-25 13:02:29 +08:00
自己收藏了一个链接,辩证的看吧,技术选型只有遇到瓶颈的时候才会显示出重要性: https://www.zhihu.com/question/50065322/answer/1095622997
Jirajine
2020-05-25 13:04:12 +08:00
@playniuniu 一直不知道“Rust 学习曲线陡峭,注定小众”这个说法是怎么来的,rust 完全对标 cpp,论学习曲线、上手难度远比 cpp 容易的多,cpp 这么一个恶心丑陋的缝合怪都能流行起来为什么 rust 不行呢。
damngood
2020-05-25 13:07:15 +08:00
对性能要求特别高的场景不太可能完全用 go 去做. 至少是在 hot path 上用 c/c++/rust 来处理.
所以完全替代 c++ 是不存在的. 这个任务就丢给 rust 这种吧.

对于绝大部分的应用服务来说 go 是可以用来取代 c/c++ 的. 心智负担上小不少.
当然这同样也是 Java 的主场.
jinsongzhao
2020-05-25 13:10:19 +08:00
不可以,C++需要一个没有 GC 的语言替换,目前比较公认的是 rust 。
jinsongzhao
2020-05-25 13:12:00 +08:00
@Weixiao0725 别说太满,C 不可以还接近点。C++嘛,没准 10 年后,真大变样了。
wangyzj
2020-05-25 13:13:30 +08:00
@Jirajine cpp 的问题你是说到点上了,rust 的问题还是生态问题,而且缺少杀手级别应用
就好比 go,没有 docker,go 还不知道在干嘛

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

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

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

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

© 2021 V2EX