从 2017 年开始,Rust 将遵循一个 公开的路线图流程 来设定我们今年的目标。该流程与 调查 和 生产用户推广 相协调,以确保我们的目标与 Rust 用户的需求一致。它最终将导致一场 社区范围的讨论,并最终形成一个 RFC 来阐述愿景。
今年,我们的总体主题是生产力,特别是针对早期 Rust 用户。从工具到库,从文档到核心语言,我们希望让使用 Rust 完成任务变得更加容易。
专注于生产力似乎与 Rust 的一些其他目标相矛盾。毕竟,Rust 一直专注于可靠性和性能,很容易想象实现这些目标会导致其他方面的妥协,比如学习曲线或开发人员的生产力。“与借用检查器作斗争”是否成为初级 Rustaceans 的一种必然的入门仪式?消除小问题和小复杂性是否意味着忽略安全漏洞或性能下降?
我们对 Rust 的方法一直是围绕权衡进行曲线弯曲,正如我们在本博客中谈到的各种支柱所体现的那样
在核心语言中,我们有时能够利用 Rust 的所有权模型等功能来使功能更易于使用。例如,Rust 中的闭包 与 C++ 中的闭包不同,不需要显式的“捕获子句”;Rust 的所有权跟踪意味着我们可以自动推断是否将数据移动或借用到闭包中,而不会牺牲可靠性或性能。我们还一直在努力通过改进 编译器的错误消息 来使语言更易于学习。而 Cargo 是早期专注于生产力的一个例子,它只增强了 Rust 系统编程的能力,允许 OS 项目 轻松构建和利用共享库的生态系统。我们在这方面还有很多可以做的事情!
简而言之,生产力应该是 Rust 的核心价值,我们应该创造性地努力提高它,同时保留 Rust 的其他核心价值。到 2017 年底,我们希望赢得以下口号
- Rust:快速、可靠、高效——三选二。
路线图
有了这个框架,以下是 Rust 对 2017 年的愿景概括。每个语句都链接到一个包含更多详细信息的相应跟踪器
-
Rust 应该具有更低的学习曲线。计划包括 新书、收集示例和模式、改进错误、改进核心语言 以及 构建 IDE。
-
Rust 应该有一个令人愉快的编辑-编译-调试周期。计划包括 增量编译 和 特征系统大修。
-
Rust 应该提供一个可靠但基本的 IDE 体验。计划主要集中在 Rust 语言服务 上。
-
Rust 应该提供对高质量板条箱的轻松访问。计划包括 板条箱类别、板条箱排名、开放式测试和基准测试框架、新的 API 和文档指南以及 不安全代码指南。
-
Rust 应该能够很好地编写健壮、大规模的服务器。计划主要集中在 Tokio 项目 上,用于异步 I/O,并可能包括 async/await 符号。
-
Rust 应该具有用于基本任务的 1.0 级板条箱。计划正在进行中,以使 libs 团队和社区专注于一些重要的现有板条箱,以帮助在今年年底之前将它们打磨到 1.0 质量。
-
Rust 应该能够轻松地集成到大型构建系统中。计划包括与将 Rust 集成的公司合作,了解如何最好地装备 Cargo 来简化流程。
-
Rust 的社区应该在所有级别提供指导。计划包括 RustBridge 项目 和新的 团队牧羊人。
除了这些主要目标之外,我们还重点介绍了我们希望探索的两个领域,但最终结果尚不清楚
各种 Rust 子团队正在积极开展与这些目标相关的项目。您可以通过关注和评论 路线图跟踪器 来跟踪进度或参与其中。路线图的完整详细理由在 RFC 中。
随着时间的推移,预计将看到更多关于路线图相关举措和里程碑的博客文章。在年底左右,我们将发布一篇回顾,汇总今年的进展,并提供 Rust 当前状态的指南。
在此期间,请 参与进来!我们对今年的目标雄心勃勃,我们需要所有可能的帮助。