• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一名后端开发者讲述了自己如何在 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,你会发现这两门语言互相补充得很好。


本文作者:佚名

来源:51CTO


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap