Niko 提交了Rust 2020 Roadmap的RFC
Rust 2020 Roadmap 概要
继续为Rust的目标而努力:Rust,一门赋予每个人构建可靠且高效软件能力的语言。
三个主要目标:
为Rust 2021 Edition做准备
Edition机制是为了帮助传达Rust语言的进度,并为总体工作提供一个着力点。我们今年的目标之一,应该是规划出要在下一个Rust Edition中所要进行的改进和变化。如果我们继续使用Rust 2018 Edition开始建立的每三年发布一版的节奏,那么下一版将在2021年发行。
我们从Rust 2018的经验中学到的一件事是,准备的重要性。如果我们希望制作Rust 2021 Edition,我们需要立即进行规划。我们的目标应该是,希望在Rust 2021中进行的任何更改都将在2020年10月之前完成。此处的「完成」意味着可以在Nightly可用。这就给2021年留出了进一步完善工作的时间。
目前还未有正式的关于Edition的决定。但我们希望在2020年10月之前就依赖于该Edition,最终决定就需要在10月份通过RFC决定。
一个Edition可能包含什么内容?我们已经有了一些正在“进行中”的语言特性设计,可能需要对某个Edition进行细微的修改,但下面这份列表绝不是所有需要的改变:
那么,今年的一个目标就是更详细地充实这些领域,并决定如果有变化,我们希望为2021年的“铁锈”做些什么。关键是要尽早确定和计划我们想要进行的更改,以便在交付之前,围绕这些更改的工具和文档有足够的时间成熟。
请注意,和以往一样,发行新Edition并不意味着旧代码停止编译。
跟进正在进行中的设计和工作
在众多博客文章和团队成员的反馈中突出强调的一个重点就是,Rust有时会在没有完全完成的情况下“卡住”的趋势。多年来,Rust积累了许多“几乎完成”的工作:从语言/库特性到编译器重构,再到社区项目。
我们今年的目标之一是减少积压的“进行中”想法,无论是实施这些想法,还是明确选择拒绝或推迟该想法。这并不意味着我们不应该接受任何新工作,但是我们应该有一个宏观的目标,即,以更少而不是更多的“计划”工作来结束这一年。
这里有几个动机。
首先,“进行中”的设计和工作已经包含了最迫切需要的特性和计划。但进一步说,停滞不前的工作可能会让人失去动力和困惑。当一个计划跨越数年,跟踪当前状态并记住所有关键的设计约束就变得越来越困难。这反过来又阻碍了对Rust项目的参与,并使其更难弄清正在发生的事情。
改善项目的运作、治理和透明度
Rust项目在过去几年里在各个方面都有了显著的增长,用户比以往任何时候都多。我们看到越来越多的公司,以及规模更大的公司,开始采用Rust技术。并且,组织和Rust团队也已经成长。这是个好消息!
但这种增长也带来了挑战。我们发现,确保整个组织的沟通越来越困难。找到足够多的人来做我们想做的工作通常是很有挑战性的,这反过来又会导致人们的精力枯竭或离开项目。
因此,我们确定了三个主要的目标:
总结
今年的路线图有别于以往。今年是从更宏观的角度来制定路线图,而把细节留给具体的工作组和团队。避免设定精确的目标,而倾向于描述更普适的任务和主题。
这样做的原因有几个:
「Q&A」社区里出现高频次问题:
在Niko最新的博客里描述过相关内容,基金会刚开始建设,估计今年会持续推动完成这件事。建立基金会的目的是为了改善项目治理的目标。
2. Const泛型、异步I/O、cargo features等功能进度如何?
这些都是属于「正在进行中」的工作,具体的细节留给相关团队。