Rust 2018 路线图

每年Rust社群都会聚集一起,讨论新一年的发展路线。今年,除了这个调查,我们在12月发布了呼吁社区博客帖子,在短短几周内就收集到了百篇文章,最终的结构是最近合并的2018(路线图)[https://github.com/rust-lang/rfcs/pull/2314]。

Rust:2018版本

今年,我们将会发布rust 2018,标志这1.0 以来Rust 的第一个主要新版本(aka Rust 2015)。

我们会继续按照往常一样每6周发布一个发行版本。但是我们将会一个发行版(Rust 1.29 - Rust 1.31)作为Rust 2018。这个Rust的新版本将是全年功能最稳定的版本。并将附带配合这些功能的精美文档,工具和库。

这些版本的意思表示 Rust 迭代重要的步骤,作为一个整体,收集了一些新的特征或习惯用法,改变了使用Rust的经验。

他们是一个机会,每过一些年,以6周递增的方式发布一个新版来评估我们工作。告诉大的故事关于Rust 在开发的过程中。同时附带了全部的精美产品。

我们期望每一个版本都会有一个核心的主题。 如果讲1.0 视为2105我们的核心在于:

  • Rust 2015: 稳定性(stability)
  • Rust 2018: 生产力(productivity)

Rust 2018 包含哪几个方面?

这个路线图并未明确说明 Rust 将会带来什么,但是我们有一个非常棒的想法,而且我们讲涵盖下面的主要几个方面。

1、文档改善

Rust 2018版本的部分目标是为全套新的和改进的功能以及它们产生的习惯用法提供高质量的文档。 Rust编程语言手册在过去的18个月里已经完全重写,随着功能到达稳定的编译器,这本书将在整年中更新。 Rust By Example
今年也将进行改造。 还有很多第三方书籍,如Programming Rust,也可以打印。

2、语言改善

管道中最突出的语言工作源于2017年的人体工程学倡议( 2017’s ergonomics initiative)。几乎全部的被接受的RFC在night版本现在都已经可用。而且在接下来的几个月将会被完善并稳定。在这些生产力提升中,少数“头条新闻”将构成发布的核心。

  • 所有权系统的改善 //todo
  • Trait系统的改善 //todo
  • 魔块系统的改善 //todo
  • Generators/async/await //todo

此外,我们预料到在Rust 2018之前一些主要的功能将会稳定下来,包括SIMD,自定义分配器和宏2.0。

3、编译器改善

从Rust 1.24开始,增量重新编译在稳定编译器中默认可用并启用。 这一功能已经使得重建速度明显快于新建版本,但是在一年的过程中,我们预计新版本和重建版本的持续改进。 编译器性能不应该成为Rust 2018生产力的障碍。

4、工具改善

Rust 2018将会看到Rust语言服务器(“RLS”,这是我们大部分IDE集成故事的基础)和rustfmt(Rust代码的标准格式化工具)的高质量1.0版本。 我们将继续通过稳定定制注册管理机构,公共依赖和修改的简介系统来改进货运。 我们也期待在货运系统集成,Xargo集成和定制测试框架方面做进一步的工作,但尚不清楚在Rust 2018之前还有多少这些系统将会完成。

5、标准库改善

基于去年的工作,我们将发布Rust API指南手册的1.0版本,继续推动重要标准库达到1.0的地位,我们会在下面看到,通过改进说明书的努力提高发现能力,并在特定领域对标准库进行大量投资 。

6、官网网站改善

作为Rust 2018的一部分,我们将彻底检修Rust网站,使其对CTO和工程师都有用。 查找信息以帮助评估您的使用案例Rust,并及时了解最新的工具和生态系统改进应该会更容易。

7、四个特定的领域

我们的Rust 2018部分目标是展示Rust在特定领域的使用效率。今年我们选择了四个这样的域名进行投资和突出显示:

  • 网络服务。 Rust的可靠性和低占用面积使其成为网络服务和基础架构的绝佳搭配,特别是在高规模的情况下。

  • 命令行应用程序(CLI)。 Rust的可移植性,可靠性,人体工程学和生成静态二进制文件的能力对编写CLI应用程序起到了很大的作用。

  • WebAssembly。 “wasm”网络标准允许向所有主流浏览器发送类似native的二进制文件,但GC支持还有很长的路要走。 Rust非常适合这个领域,并且为来自JS的程序员提供了一个合理的入口。

  • 嵌入式设备。 Rust有可能使编程资源受限的设备变得更富有成效和乐趣!我们希望今年的嵌入式编程达到一流的地位。这些领域中的每一个都有一个专门的工作组。这些工作组将以交叉的方式工作,与语言,工具,标准库和文档工作交互。

8、各个版本的兼容性

TL; DR:Rust将继续保持对新版本无障碍更新的稳定性保证。版本将对编译器有意义。您可以在您的Cargo.toml中写入:

edition =“2018”

以选择适用于您的箱子的新版本。这样做可能会引入新的关键字或者需要对代码进行调整。但是:

  • 你可以无限期地在新编译器上使用旧版本, 版本选择加入。
  • 版本以每箱为基础进行设置,可以进行混合和匹配;您可以与您的依赖关系处于不同的版本。
  • 下一个版本中的无警告代码必须编译并具有相同的行为。
  • 与版本相关的警告,例如标识符将成为下一版本中的关键字,必须通过自动迁移工具(rustfix)轻松解决。只有少数箱子需要任何手动工作才能选择新版本,而且手动工作必须最少。
  • 大多数新功能都是与版本无关的,即使选择了旧版本,也可以在新编译器上使用。

换句话说,新编译器版本的发展与版本无关;你可以在闲暇时迁徙,而不必担心生态系统的兼容性;版本迁移通常是微不足道的。

9、其他

9.1 更好的服务中间的Rust开发者
9.2 社区
9.3 行动的号召

像往常一样在Rust世界里,这里列出的目标最终将是全社会努力的结果 - 也许包括你在内的一个! 以下是我们可以使用最多帮助的一些团队。 请注意,所有IRC频道都是指irc.mozilla.org网络。

翻译自:https://blog.rust-lang.org/2018/03/12/roadmap.html

你可能感兴趣的:(Rust 2018 路线图)