沃尔沃汽车公司的软件工程师 Johannes Foufas 对该公司的技术专家和系统架构师(也是其嵌入式 Rust 先驱之一)Julius Gustavsson 进行了一则访谈,就 Rust 在汽车中的相关应用进行了探讨。
Gustavsson 透露,2014 年,他在已经从事了 15 年的 C/C++ 相关工作,并对自己的职业生涯产生了质疑之际,发现了 Rust;彼时他还是一个大型瑞典科技公司新团队中的成员。几年后跳槽到沃尔沃后,他则愈发地认为 Rust 这门语言对沃尔沃汽车很有用,“因为它体现了你在开发安全关键型软件时想要的相同类型的意识形态”。
图左 Julius Gustavsson,图右 Johannes Foufas
Gustavsson 在沃尔沃的第一个项目是在其 Core Computer 原型上,与 Signal Broker(现在的 BeamyBroker)进行 Android 集成。这是一种针对 broker 的硬件抽象层(HAL),本身是用 Elixir 编写的;但他使用 Rust 和 async Futures 完成了这个任务。“这也是一个很大的确认,这确实是有用的东西。所有的东西从一开始就很有效”。
之后,他和具有同样抱负的 Nikolaos Korkakakis 进行了合作,联手将 Rust 带入沃尔沃的 core computer 的 Low Power node。Gustavsson 认为,Rust 的主要优势包括:不必考虑 race conditions 和内存损坏,以及一般的内存安全。“你知道,从一开始就可以编写正确且健壮的代码。所以这基本上是我的第一印象,但现在我也开始意识到还有很多其他方面的优点”。
展望未来,Gustavsson 表示他们有着非常雄心勃勃的计划,“我们希望在沃尔沃汽车公司扩展 Rust 以在更多节点上启用它,为此,我们需要获得对某些硬件目标的编译器支持和对其他目标的操作系统支持。替换已经开发和经过良好测试的没有意义代码,但是如果可行的话,从头开始开发的代码绝对应该用 Rust 开发”。
不过 Gustavsson 也指出,Rust 不是万能的,该语言并不总是最优解。总的来说,他认为 Rust 有巨大的潜力,可以用较低的成本生产出更高质量的代码,从而反过来降低保修成本,达成一个双赢。
此外,Gustavsson 还指出,新的 Rust 代码可以与现有的 C 和 C++ 以“几乎任意的粒度、模块级别或功能级别”共存;主要取决于你在做什么,譬如“可以重写需要网络安全的部分、易受攻击的部分”。
沃尔沃并不是唯一对 Rust 感兴趣的汽车制造商。Autosar (一个汽车标准组织,其成员包括福特、通用、宝马、博世、大众、丰田、沃尔沃等)就于 4 月宣布成立了一个 Rust 工作组。SAE International 也成立了一个工作组来研究汽车行业的 Rust 安全相关系统。
延伸阅读:
- 为开发新版 Rust 桌面环境,Pop!_OS 将跳过 22.10 版本
- Sysinternals 作者:是时候停用 C/C++ 开发新项目并使用 Rust 了
- GStreamer 将用 Rust 编写的插件与二进制版本一起提供
- 微软首席工程师:Rust 将面临十大挑战