从 2017 年开始,Rust 将遵循一个开放的路线图流程来设定我们当年的目标。该流程与调查和生产环境用户外展相协调,以确保我们的目标与 Rust 用户的需求一致。最终,它汇集在一场社区范围的讨论中,并最终形成一份RFC来阐述愿景。
今年,首要主题是生产力,特别是对于早期 Rust 用户。从工具链到库、文档再到核心语言,我们希望让使用 Rust 完成工作变得更加容易。
关注生产力可能看起来与 Rust 的其他一些目标相悖。毕竟,Rust 一直专注于可靠性和性能,很容易想象,实现这些目标会在其他方面带来妥协——比如学习曲线,或开发者生产力。“与借用检查器作斗争”是初学 Rustaceans 的固有考验吗?移除小痛点和细微复杂性是否意味着忽略安全漏洞或性能瓶颈?
我们对待 Rust 的方法始终是在权衡中找到平衡,这体现在我们在这篇博客中讨论过的各种支柱原则中
在核心语言方面,我们有时能够利用 Rust 的所有权模型等特性来使功能更易于使用。例如,Rust 中的闭包,与 C++ 中的不同,不需要显式的“捕获子句”;Rust 的所有权跟踪意味着我们可以自动推断是将数据移动还是借用到闭包中,而不会牺牲可靠性或性能。我们还在通过改进编译器的错误消息来使语言更容易学习。而 Cargo 是早期关注生产力的一个例子,它只会增强 Rust 进行系统编程的能力,使得操作系统项目能够轻松构建并利用共享库生态系统。沿着这些思路,我们还有很多事情可以做!
简而言之,生产力应该是 Rust 的核心价值,我们应该创造性地努力提升它,同时保留 Rust 的其他核心价值。到 2017 年底,我们希望能够赢得这个口号:
- Rust:快速、可靠、高效——三者兼得。
路线图
铭记这一框架,以下是 Rust 2017 年的愿景概述。每项声明都链接到一个包含更多详细信息的相应跟踪器:
-
Rust 应该具有更低的学习曲线。计划包括一本新书、收集示例和模式、改进错误信息、改进核心语言,以及构建 IDE。
-
Rust 应该有一个愉快的编辑-编译-调试循环。计划包括增量编译和一个特征系统重做。
-
Rust 应该提供对高质量 crate 的便捷访问。计划包括crate 分类、crate 排名、开放式测试和基准测试框架、新的 API 和文档指南,以及非安全代码(unsafe code)指南。
-
Rust 应该能很好地用于编写健壮、高可扩展性的服务器。计划主要集中在用于异步 I/O 的Tokio 项目以及潜在的async/await 语法。
-
Rust 应该拥有处理基本任务的 1.0 级别 crate。计划正在进行中,将 libs 团队和社区的注意力集中在一些重要的现有 crate 上,以帮助他们在年底前打磨到 1.0 质量水平。
-
Rust 应该易于集成到大型构建系统中。计划包括与正在采用 Rust 的大型公司合作,了解如何最好地调整 Cargo 来使过程顺畅。
-
Rust 社区应该在各个层面提供指导。计划包括RustBridge 项目和新的团队引导者。
除了这些主要目标之外,我们还重点关注了两个我们希望探索的领域,但其最终目标尚不明确
Rust 的各个子团队正在积极开展与这些目标相关的项目。您可以通过关注和评论路线图跟踪器来跟踪进展或参与进来。关于路线图的详细理由在该 RFC 中。
随着这一年过去,预计会看到更多宣布路线图相关倡议和里程碑的博文。临近年底时,我们将发布一份回顾,总结这一年的进展,并提供 Rust 当前状态的指南。
与此同时——请参与进来!我们今年有宏伟的目标,需要大家尽可能的帮助。