10年后 Rust 还会存在吗?

开发 前端
Rust正处于其历史上一个激动人心的时刻。随着大公司在Rust上的大量投资和工程师对这门语言的拥抱,我们相信Rust有一个光明的未来。​

在本文中,我们将回顾该Rust的当前状态(它到底有多老还是多年轻?),一个语言长期存在的三个标志是什么(剧透一下,Rust在这三个方面都做得很好)。

下图是众所周知的采用一项技术的生命周期。不用说,Rust仍处于早期阶段。

图片

从广义上讲,我们可以说Rust在web/后端和系统编程等大多数领域都处于早期采用者阶段,因为像谷歌、Facebook和微软这样的公司都在大力投资Rust,并用Rust编写了大型系统,为他们的云产品提供动力。

例如,微软Azure的首席技术官Mark Russinovich表示,新项目应该用Rust编写,而不是C或C++。现在Linux内核和Windows内核都包含Rust代码。

在嵌入式开发中,我们必须将不同的行业分开。例如,在汽车项目中,由于有了 Ferrocene 和 OxidOS,Rust已经过了创新者阶段,进入了早期采用者阶段。至于其他行业,如航空航天、国防和医疗行业,Rust仍处于创新者阶段。

有些游戏(如:《Way of Rhea》)是用Rust编写的,可以在Steam上看到,但整个游戏行业仍处于创新阶段。

这对于一个10年前才发布了第一个稳定版本的语言来说,Rust在各行各业的广泛渗透是相当令人印象深刻的。

一项技术要想跨越鸿沟,或者成为主流,它需要在一个非常特定的领域或使用场景中被认为是非常有效的。

在数字基础设施中,(由Google, Microsoft, Apple等)已经确定,大型C/C++代码库中约70%的安全漏洞是内存安全问题,这意味着内存不安全是所有软件都需要解决的问题,而Rust已经被证明可以消除这类漏洞。

在确定Rust“非常成功”地解决了关键基础设施中普遍存在的内存安全问题之后, 我们能够确定Rust语言超越了鸿沟。但问题仍然存在:Rust在10年内还会存在吗?

判断一门编程语言是“有生命力的”,通常有三个标准:

  • 许多公司(而不仅仅是业余爱好者)都在使用它;
  • 有一个稳定和成熟的生态系统;
  • 它不仅在核心方面,而且在外围工具和库方面都在进行开发。

重要的用途

从长远来看,一种语言要保持广泛的使用,它需要被行业采用,并应用于不同的领域,这说明它的可靠性和多功能性。强劲的就业市场、活跃的社区和坚实的教育资源,突显了它的广泛接受度和生命力。

大公司的投资

一些大公司(如谷歌、Facebook、微软、亚马逊)已经在Rust上押下了重注。他们不仅在自己的代码库中使用这种语言,而且还在其生态系统中进行投资。这些公司的支持对于语言的长期可持续性非常重要。

最近投资的一些例子:

  • 谷歌向Rust基金会捐赠了100万美元用于互操作计划,以改进工具的互操作性。
  • 微软对Rust进行了投资,其中包括对Rust开发工具的1000万美元投资和对Rust基金会的100万美元捐款

商业产品和支持

一些以安全为目标的工具链已经在Rust中开发出来,并且提供了长期的商业支持。

  • Ferrocene是一种Rust编译器,用于汽车行业的安全关键用途,并已通过ISO 26262认证。
  • AdaCore使用Rust开发了Gnat Pro,目标是航空航天行业。
  • HighTec为英飞凌AURIX开发了ISO 26262认证的Rust编译器开发平台,这对汽车行业至关重要。
  • 安全关键Rust联盟由AdaCore、Arm、丰田和其他公司成立,其目标是支持在安全关键软件中负责任地使用Rust编程语言。

生态系统的成熟

Rust生态系统的成熟度很难量化,但它自诞生以来一直在稳步增长。它获得了“大型科技公司”、专业人士和爱好者的关注、使用和支持。

增长

众所周知,自2016年以来,Rust一直是Stack overflow“最受欢迎的语言”,并在2023年成为“最受尊敬的语言”。同样,Rust(连同Dart)是2023年增长最快的社区(即开发人员数量),从2022年到2024年,规模几乎翻了一番。

从crate.io中下载的crate的数量呈指数级增长:

图片图片

截至目前,GitHub上有355k个Rust项目。

经费

大多数编程语言都是由一家大型科技巨头支持的。以谷歌开发的Go和苹果支持的Swift为例。

Mozilla与四家科技巨头(AWS、华为、谷歌和微软)联手创建了Rust基金会:

“Rust基金会是一个独立的非营利组织,致力于管理Rust编程语言,培育Rust生态系统,并支持一组维护人员管理和开发项目。”

这意味着没有一家公司在幕后操纵一切。此外,许多帮助形成这种语言的志愿者现在被亚马逊和华为等公司雇佣,全职从事编译器的工作。因此,Rust所建立的基础(包括财务和技术)比大多数其他语言更强大、更多样化。

内存安全

Rust是唯一一种将内存安全与c语言的性能和系统语言的功能结合在一起的语言。我们看到,在日常使用和依赖的软件中,对内存安全的需求正变得越来越普遍。

持续发展

Rust是一种具有广泛使用的语言,其用于从嵌入式设备到后端服务到高性能存储引擎等各种项目。由于Rust的高适应性,这是可能的。由于其出色的C/C++兼容的外部函数接口,它可以集成到现有的代码库中。它还通过多个运行时(如Wasmtime和Cloudflare的wrangler)提供了一流的WebAssembly支持。

我们之前提到Rust包的下载量正以指数级的速度增长,开发者的工作效率也在提高,可用的crate数量每年翻一番,这表明大多数Rust开发都是在与工作相关的项目中进行的。

持续的发展不会止步于生态系统层面,语言本身也在不断发展。

Rust的挑战

赞助可能会枯竭:正如我们之前提到的,Rust的赞助并不依赖于单一的大型科技公司,而是一个财团,所以我们认为这种情况不太可能发生,但也不是不可能。

  • 生态系统可能会分裂:Node生态系统之前就发生过这种情况(并且已经有了一个Rust分支)。这当然不是我们可以预测的事情。
  • Rust可能会变得过于复杂:虽然我们承认Rust在发展过程中可能会增加复杂性,但我们的印象是Rust社区正在积极地平衡新特性与可维护性和可用性。事实上,除了异步Rust之外,该语言已经达到了相对成熟的程度。
  • 雇佣Rust开发者是一个挑战:这个,我们必须承认。

总结

Rust正处于其历史上一个激动人心的时刻。随着大公司在Rust上的大量投资和工程师对这门语言的拥抱,我们相信Rust有一个光明的未来。

责任编辑:武晓燕 来源: coding到灯火阑珊
相关推荐

2016-04-13 10:52:12

2017-11-06 13:59:48

程序员行业趋势收入

2009-09-22 09:25:45

Chrome谷歌

2019-08-21 09:00:00

2024-06-07 11:14:24

2019-07-12 15:21:21

加密货币银行货币

2022-02-11 17:52:48

TCP网线客户端

2023-12-26 14:18:08

2015-08-18 15:14:47

2018-12-05 12:59:28

比特币区块链BTC

2020-08-31 11:10:57

编程语言PythonJava

2017-10-11 17:04:08

2018-12-07 15:50:52

Java编程语言框架

2011-03-10 10:36:59

宽带光纤

2020-12-18 10:20:54

5G6G新基建

2010-11-16 14:17:32

IBM超级计算机

2020-09-30 17:40:15

Java代码面试

2009-10-22 20:48:28

IT管理统一通信

2013-12-03 10:30:32

2020-01-13 09:08:46

谷歌Android开发者
点赞
收藏

51CTO技术栈公众号