尽管 Rust 是一种相对较新的编程语言,但它已经席卷了整个行业。像亚马逊或微软这样的大公司在他们的产品中使用它,并且它受到开发人员的喜爱。让我们看看这种编程语言的历史、它的特点以及它可能如何发展。
古老的历史
Rust 最初是 Mozilla 员工 Graydon Hoare 于 2006 年开发的一个业余项目。Mozilla 看到了这种编程语言的潜力,并于 2009 年开始赞助它。该公司在其实验性浏览器引擎 Servo 中使用了 Rust。该项目于2010年正式向全世界公布。
从那时起,Rust 就不断发展。它获得了很多关注,并在2014年被称为C语言的竞争对手。Rust 1.0,第一个稳定版本,于 2015 年发布。
2020 年由于疫情和 Mozilla 裁员,Servo 项目彻底取消。这引起了一些对 Rust 未来的担忧,但 2021 年 2 月,Rust 基金会成立了。由于 Google、Microsoft 和 AWS 等公司的兴趣,Rust 巩固了其作为开发人员中最流行的编程语言之一的地位。
为什么每个人都喜欢 Rust?
根据2022 年 Stack Overflow 开发者调查,Rust 是最受欢迎的编程语言,并且自 2016 年以来连续保持这一称号。但这是为什么呢?
Rust 受欢迎的原因有很多,但主要是该语言的特性使其受到开发人员的喜爱。Rust 已成为C 和 C 的常见、更现代的替代品。它与这些众所周知的语言一样快,但它提供了更好的内存、类型和线程安全性。
自然地,各种成功的公司对 Rust 基金会产生了兴趣。事实上,它是由其中一些行业领导者创立的。后来,其他公司也加入成为基金会成员,包括 Dropbox、Meta、Arm 等。
Go 在运行时速度很快,但 Rust 提供了更好的性能。这两种语言在设计上都提供了类似的安全性:Golang 使用垃圾收集器,而 Rust 使用所有权和借用检查器来处理内存管理。Rust 也不会受到数据竞争的影响,Golang 通过消息传递来解决这一问题。虽然 Golang 由于垃圾收集器而性能较低,但Rust 的所有权和借用使其速度更快。
对于需要低级控制和高性能的项目,它的速度也使得 Rust 比 Python 更好。
Rust 深受程序员喜爱的一个特性是安全模式。它在编译时检测错误或内存漏洞,并为您提供有意义的警告。它可以防止开发后期出现很多问题。
Rust 的流行保证了社区的不断发展以及对公共存储库的大量贡献。该语言预计在未来几年将进一步发展。
哪些项目使用了 Rust?
Rust 的设计主要是为了确保高性能和安全性。它是一种通用语言,非常适合从 Web 应用程序到低级编程的多功能项目。
为了证明 Rust 的受欢迎程度和多功能性,让我们看一下使用这种语言的一些成功项目的示例。
- Firefox — Mozilla 的浏览器使用 Rust 作为其 CSS 引擎,
- Android — 该操作系统向 Android 开源项目添加了 Rust 支持,
- AWS——亚马逊的一些云服务完全用 Rust 构建,例如 Amazon S3、Amazon EC2 等,
- Discord——代码库的客户端和服务器端都是用 Rust 编码的,
- Figma——用 TypeScript 编写的图形编辑器的多人服务器已经不够了,所以用 Rust 重写了它。
这只是使用 Rust 的 IT 公司的一小部分。用这种语言编写的项目越来越多,包括上面提到的 Dropbox 或 Mozilla Firefox。无论是重写、附加组件还是全新产品,Rust 通常都是许多人的首选技术。
Rust 语言面临的挑战
使用 Rust 带来许多好处,例如提高安全性和性能、更轻松的并发编程和内存安全。然而,这项技术并不完美。
人们经常注意到 Rust 的学习曲线很高。学习这种语言的挑战之一是与更成熟的编程语言相比,它相对缺乏库。这部分是因为 Rust 是一种新语言,但也因为 Rust 严格的内存安全保证需要与其他语言不同的库开发方法。
这使得寻找特定用例的库或将 Rust 集成到严重依赖第三方库的现有项目中变得困难。此外,由于 Rust 专注于低级控制和强类型,开发人员可能需要一些时间才能适应该语言的语法和所有权/借用系统。
在 Rust 中部署项目的另一个挑战是开发人员可能很难习惯。尽管安全模式在大多数情况下都很有用,但错误消息可能会令人困惑或分散注意力。因此,与使用熟悉的语言(例如 Python)进行编程相比,开发可能会更加耗时。即使对于经验丰富的开发人员来说,掌握该语言也并不容易。
未来该何去何从?
Rust 目前的缺点并没有阻止大公司和开发人员将时间和资源投入到这项技术中。业界认可 Rust 的潜力,预计它在未来会更加流行。
Rust 的新鲜度被认为是一个缺陷,但它使该语言更适应现代问题。在软件定义一切的时代,Rust 满足了许多其他语言无法满足的需求。例如,沃尔沃使用这种语言来探索软件定义车辆的概念。正如 Steve Klabnik 所说,“Rust 允许开发人员编写高性能、低级系统代码,而无需牺牲安全性和易用性。”
Rust 在开发人员中的日益普及使得该语言变得更易于使用,因为每年都有更多的可用资源。如果 Rust 继续流行几年,它可能会成为许多领域的标准语言。“Rust 提供了高级抽象和低级控制的独特组合,这使得它非常适合构建安全且高性能的系统软件。” ——《The Rust 编程语言》的合著者 Carol Nichols 说道。这些好处,加上 Rust 开发者社区的不断壮大和大品牌的兴趣,是 Rust 成为未来语言的原因。
据“Inside Rust”博客称,2024 年 Rust 将会有很多发展。该团队希望通过解决当前的一些缺点来扩展该语言的授权。他们的目标是拉平学习曲线,让新用户更容易使用该语言。该团队还承认可用的库数量较少,并计划授权库作者开发更多资源。Rust 团队的另一个目标是扩展项目并使其适合新的用例和更多用户。
Rust 绝对是值得关注的语言 - 无论您是在决定学习哪种语言还是在项目中包含哪种技术。
推荐
A Big Picture of Kubernetes
Kubernetes入门培训(内含PPT)