Rust 在许多方面都优于 Go,但为什么没有 Go 流行?

科技   2024-06-18 07:40   重庆  

最近连续在 Quora 看到几个关于 Go 和 Rust 的问题,讨论的都是为什么看起来 Rust 的设计、性能等许多方面都优于 Go,但为什么就是没有 Go 流行呢?

以下是一些回答:

  • 首先 Go 是背靠 Google,受到了大量的资金、人员的支持。
  • 两者的领域不同, Go  更擅长网络和通用的开发,而 Rust 更擅长系统开发。
  • Rust 的主要竞争对手是 C 语言这样有深厚底蕴的编程语言。
  • Go 很简单,开发者想要写点东西只需要花很少的时间来学习,而相反的 Rust 的学习线路更佳陡峭。
  • Rust 的语言设计很好,但是编译器有时候非常苛刻(不过也正是因为这一点,Rust 写的代码更加安全高效)。
  • Go 有许多好用的标准库,而 Rust 的标准库较少(说到标准库那还是 Go、Python、C# 这类语言的标准库更加强大)
  • 因为 Rust 现在并不是“更好”语言的唯一选择,有以下一些原因不选择一门语言。
  • 团队对一门语言的掌握程度
  • 还有迁移成本、现有的代码库、工具链等。
  • Rust 语言更接近 C++ 而不是为应用设计的语言
    • 应用程序开发的广度肯定比系统语言的用户更多。
  • 速度和资源占用并不是主要的问题,开发者的时间成本比服务器成本更高。
    • 其实 Go 的资源占用已经很好了,相对于 Java 来说。

总的来说 Rust 和 Go 本质上都不是解决同一类型的语言。

Rust 的更加偏向于系统编程,而 Go 可以拿来做应用开发,更多的是做云原生开发。

Go 的学习曲线也比 Rust 低很多,同时背靠 Google 也带来了许多杀手级的应用(kubernetes、Docker 等)

参考链接:

  • https://www.quora.com/Go-programming-language-Rust-is-way-better-than-Go-in-many-aspects-but-why-is-it-not-getting-popular-as-Go
  • https://www.quora.com/Why-is-Rust-not-more-popular-than-Go


顺便打个广告:最近在小范围运营知识星球,已经有一些朋友加入了,并且已经在持续输出内容,更多福利和内容可以扫码查看,或者点阅读原文
现在试运营阶段是 69-20=49


往期推荐

从 Prometheus 到 OpenTelemetry: 指标监控的演进与实践

从 Dapper 到 OpenTelemetry:分布式追踪的演进之旅

几个你或许并不知道 kubernetes 技巧

实操 OpenTelemetry:通过 Demo 掌握微服务监控的艺术

OpenTelemetry 实践指南:历史、架构与基本概念

 

点分享

点收藏

点点赞

点在看

 

crossoverJie
技术、生活、观点、原创。 原创公众号; 主要关注 Go、JVM、并发、分布式、网络等相关技术。
 最新文章