Rust 2017 成果回顾

阅读数:2114 2017 年 12 月 28 日

话题:语言 & 开发

2017 年,Rust 的开发主要侧重于几个方面,包括工具、库生态系统、互操作性及其他具有共同主题的特性。Rust 核心团队成员 Aaron Turon 写道,这个共同的主题是提高生产力,尤其是对这门语言的新用户而言。

学习曲线

2017 年,Rust 社区为降低 Rust 的学习曲线做了大量的工作。其中包括出版了多本著作,如《Rust 编程语言》、《Rust 编程》、《Rust 实战》。同时,讨论并实现了许多 RFC,解决了该语言多个方面不完善的地方,如所有权、模块、Trait 系统等

工具

在工具方面,Rust 团队改进了编辑 - 编译循环,在 Cargo 中引入了一个新的子命令check,最小化当前状态下类型检查所需要做的工作。对改进编辑 - 编译循环影响更大的是增量编译,该特性将在 2018 年 2 月份发布的 Rust 1.24 版本中正式提供。如下图所示,增量编译应该可以带来 50% 以上的速度提升,按照计划,Rust 团队在接下来的一整年里都会进一步改进结果。

2017 年,Rust 获得了 JetBrains IDE 的正式支持,包括 IntelliJ IDEA、CLion、WebStorm 等。为了获得 Visual Studio Code、Visual Studio、Atom 等轻量级 IDE 的支持,Rust 引入了Rust 语言服务器(RLS)。RLS 1.0 计划于 2018 年初发布,将提供代码补全、引用查找、转到定义及其他常见的 IDE 特性。

库生态系统

就生产力而言,语言的库生态系统是关键。为了提供健壮的库用于创建服务器端软件,Rust 社区已经做了大量的工作,包括支持futures、异步操作generatorsRocketGotham等 Web 框架。还有一项相关工作,旨在确保根本任务是基于 1.0 水准的 crate,那就是LibzBlitz。这项工作会汇总审核多个 crate,然后把结果反馈到问题跟踪系统。按照 Turon 的说法,并不是所有审核过的 crate 都会达到 1.0 版本,大多数会,其他会非常接近。

此外,2017 年,Crates.io 获得了分类功能,现在,该网站按照过去 90 天的下载量对 crate 进行排序,让开发人员更容易找到需要的 crate。

最后请注意,据 Turon 介绍,Rust 2018 路线图很快就会确定。InfoQ 将第一时间带来报道。

查看英文原文What Rust Achieved in 2017