最近连续在 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
往期推荐
点分享
点收藏
点点赞
点在看