强大的 Rust 还是简单的 Go?我选择了 Go

来源: OSCHINA
编辑: 局长
2017-09-18

一名后端开发者讲述了自己如何在 Rust 和 Go 之间做出选择。

“Rust 还是 Go,我该选择哪一个?”是我经常遇到的一个问题。不过我的答案也很简单 —— 选择 Go。

之所以这样选择,不是因为 Go 是更好的语言,而是因为对于一个(看似)简单的问题,人们更想要一个简单的答案。

两门语言似乎都在竞争同一用户群,而且它们似乎都是“系统编程语言”,所以它们之间一定会分出输赢,是这样吗?

下面介绍一些实际情况。Rust 具有以下的一些特性:

  • 能安全应对空指针、竞态条件和各种低级威胁

  • 可预测的运行时行为(零代价抽象 zero cost abstractions,无垃圾回收)

  • (几乎)拥有对硬件的整体控制(内存布局,处理器功能)

  • 与其他语言的无缝互操作性

如果您不需要任何这些功能,Rust 可能不是很好的选择。这是因为这些功能带来了成本:ramp-up time。

使用 Go,你可以快速完成任务。Go 是我使用过的最有生产力的语言之一。它的准则是:解决今天真正的问题。

我不认为 Go 是一门优雅的语言。它最大的特点是简单,Go 甚至不是系统编程语言,尽管使用它在后端基础架构上编写微服务和工具非常棒,但我不希望使用它编写内核或内存分配器。

相对来说,Rust 比较难。我花了好几个月的时间,才让它能有点提升我的生产力。Rust 是一门强大的语言,而且它每天都在变得更强大。对我而言,Rust 更像是一个“实用的 Haskell (pragmatic Haskell)”,而不是“更安全的 C (safer C)”.

99% 的时间,Go 的表现是足够好的,剩下的 1%,你知道的。然后再看看 Rust,你会发现这两门语言互相补充得很好。

来自:http://matthias-endler.de/2017/go-vs-rust/

展开阅读全文
23 收藏
分享
加载中
精彩评论
Go跟rust根本没有竞争,如果上go能满足需求,那强行用rust就是吃饱了撑的,须用rust的地方,go没法用,选都没得选
2017-09-18 08:57
24
举报
狗儿们不要天天鼓吹垃圾语言,好好用用C++17
2017-09-18 08:34
15
举报
刚在redidit上讨论过话题,大家都还算客观,都比较心平气和的,怎么在这里就各种冷嘲热讽了呢?
还有,各位rust党们,你们的真正敌人是swift和c++,尤其是swift,怎么也轮不到跑在GC上的go啊!
2017-09-18 10:39
14
举报
发现没有,隔几天就有一篇捧 Go 的文章。
2017-09-18 08:35
9
举报

引用来自“小紫羽”的评论

发现没有,隔几天就有一篇捧 Go 的文章。
发现了
2017-09-18 08:56
6
举报
最新评论 (25)

引用来自“无聊的人啊”的评论

狗儿们不要天天鼓吹垃圾语言,好好用用C++17
我选择静等 C++20,主要是为了 modules
2019-05-19 15:18
0
回复
举报
不用c++, 反而用更小众但同样复杂的rust, 怎么想的。。
2017-09-19 12:18
0
回复
举报

引用来自“Zacks2012”的评论

Go跟rust根本没有竞争,如果上go能满足需求,那强行用rust就是吃饱了撑的,须用rust的地方,go没法用,选都没得选
你应该说具体点,不然有些人弄不明白你指的是什么情况
2017-09-19 10:58
0
回复
举报

引用来自“小紫羽”的评论

发现没有,隔几天就有一篇捧 Go 的文章。
可能除了微软的之外都应该少发吧
2017-09-19 10:57
0
回复
举报

引用来自“hykjfc”的评论

go不需要像java一样装一个虚拟机,也不需要像c++编译花很长的时间,就这两点就足够了。
这两点做的最好的是 delphi 啊!
2017-09-18 20:47
2
回复
举报
PHP是最好的语言 就酱紫
2017-09-18 17:47
3
回复
举报
我们选择了强大又简单的 dlang 😏
2017-09-18 14:34
0
回复
举报
作者的选择应该是正确的,观点也比较同意
2017-09-18 13:17
0
回复
举报

引用来自“小紫羽”的评论

发现没有,隔几天就有一篇捧 Go 的文章。

引用来自“无聊的人啊”的评论

发现了
Go 国内比国外火!
2017-09-18 12:08
1
回复
举报

引用来自“无聊的人啊”的评论

狗儿们不要天天鼓吹垃圾语言,好好用用C++17
C++ 越来越像垃圾语言了!
2017-09-18 12:07
2
回复
举报
更多评论
29 评论
23 收藏
分享
返回顶部
顶部