强大的Rust还是简单的Go?我选择了Go
一名后端开发者讲述了自己如何在 Rust 和 Go 之间做出选择。
“Rust 还是 Go,我该选择哪一个?”是我经常遇到的一个问题。不过我的答案也很简单 —— 选择 Go。
之所以这样选择,不是因为 Go 是更好的语言,而是因为对于一个(看似)简单的问题,人们更想要一个简单的答案。
两门语言似乎都在竞争同一用户群,而且它们似乎都是“系统编程语言”,所以它们之间一定会分出输赢,是这样吗?
下面介绍一些实际情况。Rust 具有以下的一些特性:
- 能安全应对空指针、竞态条件和各种低级威胁
- 可预测的运行时行为(零代价抽象 zero cost abstractions,无垃圾回收)
- (几乎)拥有对硬件的整体控制(内存布局,处理器功能)
- 与其他语言的无缝互操作性
如果您不需要任何这些功能,Rust 可能不是很好的选择。这是因为这些功能带来了成本:ramp-up time。
使用 Go,你可以快速完成任务。Go 是我使用过的最有生产力的语言之一。它的准则是:解决今天真正的问题。
我不认为 Go 是一门优雅的语言。它最大的特点是简单,Go 甚至不是系统编程语言,尽管使用它在后端基础架构上编写微服务和工具非常棒,但我不希望使用它编写内核或内存分配器。
相关推荐
zhangxiafll 2020-11-13
Justhavefun 2020-10-22
lousir 2020-10-21
longzhiwen 2020-10-16
svap 2020-11-09
viplinux 2020-10-28
Justhavefun 2020-09-25
归去来兮 2020-09-18
zhouxiaojie 2020-09-16
gamedevd 2020-09-04
tkernel 2020-09-03
Trustport 2020-09-01
svap 2020-08-25
tkernel 2020-08-18
lihn 2020-08-18
归去来兮 2020-07-28
TianlangStudio 2020-07-18
iammjun 2020-07-07
Colourful 2020-07-03