Rust的2018年路线图

2018年3月12日·Rust Core团队

每年,Rust社区都会聚在一起制定路线图。今年,除了这项调查外,我们还在12月发出了征集博客帖子呼吁,结果在几周内写了100篇博客帖子。最终结果是最近合并的2018年路线图RFC

Rust:2018年版

今年,我们将交付Rust 2018,这是Rust自1.0版(又称Rust 2015)以来的第一个主要新版本

我们将像往常一样每六个星期继续发布发行。但是,我们将在今年下半年(Rust 1.29-1.31)将发布指定为Rust 2018。Rust的这一新“版本”将是全年功能稳定的最高潮,并将附带与这些功能相关的优美文档,工具和库。

版本的想法是表示Rust的发展中的主要步骤,从整体上看,新功能或习惯用法的集合改变了使用Rust的体验。每隔几年,他们就有机会以六周为增量评估我们完成的工作。讲述有关Rust的发展的更大故事。并将整堆产品作为抛光产品运输。

我们希望每个版本都有一个核心主题或重点。将1.0视为“ Rust 2015”,我们有:

Rust 2018将是什么?

该路线图并不确定要在Rust 2018中发布什么,但是我们有一个很好的主意,我们将在下面介绍主要的可疑对象。

文档改进

Rust 2018发行版的部分目标是为全套新功能和改进功能以及由此产生的惯用法提供高质量的文档。Rust编程语言书在过去的18个月中已被完全重写,并且随着功能到达稳定的编译器,将全年更新。今年,Rust By Example也将进行翻新。而且还有许多第三方书籍,例如Programming Rust,也可以印刷。

语言改善

正在筹备中的最杰出的语言工作源于2017年的人体工程学计划。该计划几乎所有已接受的RFC都在今天晚上提供,并将在接下来的几个月中完善和稳定。在这些生产力的提高中,有一些“头条新闻”将构成该版本的主干:

  • 所有权系统的改进,包括通过“非词法生存期”使借贷更加灵活,改进的模式匹配集成等等。
  • 特性系统改进,包括期待已久的impl Trait抽象处理类型的语法。
  • 模块系统的改进,重点是提高清晰度和降低复杂性。
  • Generators / async / await:一流的异步编程支持工作正在迅速进行。

此外,我们预计在Rust 2018发行之前还会稳定一些其他主要功能,包括SIMD自定义分配器宏2.0

编译器改进

Rust 1.24开始,在稳定的编译器上默认启用了增量重新编译。此功能已经使显著比新鲜建造更快重建,但在这一年的过程中,我们期待继续改进 新鲜和重建。编译器性能不应成为Rust 2018中生产力的障碍。

工具改进

Rust 2018将看到高质量的1.0版本的Rust语言服务器(“ RLS”,它是我们IDE集成故事的基础)和rustfmt(Rust代码的标准格式化工具)。我们将通过稳定自定义注册表,公共依存关系和修订的档案系统来继续改进货运。我们还期望在Cargo构建系统集成Xargo集成自定义测试框架方面做进一步的工作,尽管目前尚不清楚其中有多少将在Rust 2018之前完成。

图书馆改进

去年的工作基础上,我们将发布Rust API准则书的1.0版本,继续将重要的库推向1.0状态,通过改进食谱来提高可发现性,并在特定领域对库进行大量投资。会在下面看到。

网站改进

作为Rust 2018的一部分,我们将彻底改革Rust网站,使其对CTO和工程师都非常有用。查找信息以帮助您针对用例评估Rust并与最新工具和生态系统改进保持同步应该容易得多。

四个目标领域

Rust 2018的部分目标是证明Rust在特定使用领域的生产力。我们已经选择了四个此类领域进行投资并在今年重点介绍:

  • 网络服务。Rust的可靠性和低占用空间使其非常适合网络服务和基础设施,特别是在大规模生产中。
  • 命令行应用程序(CLI)。Rust的可移植性,可靠性,人体工程学以及生成静态二进制文件的能力共同为编写CLI应用程序带来了巨大的影响。
  • WebAssembly。“ wasm” Web标准允许将类似本机的二进制文件运送到所有主要的浏览器,但GC支持仍需数年。Rust非常适合针对此领域,并为来自JS的程序员提供了一个合理的入口。
  • 嵌入式设备。Rust有潜力使对资源有限的设备进行编程的工作效率更高且更有趣!我们希望嵌入式编程在今年达到一流的地位。

这些领域中的每一个都有一个专门的工作组。这些工作组将以跨领域的方式工作,并与语言,工具,库和文档工作进行交互。

跨版本的兼容性

TL; DR:Rust将继续保持其稳定性,即无忧地更新新版本

版本将对编译器有意义。您将能够编写:

edition = "2018"

在您的Cargo.toml中选择使用新版本的板条箱。这样做可能会引入新的关键字,否则可能需要对代码进行调整。然而:

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

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

2018年的其他目标

尽管Rust 2018发行版是我们今年的重点,但我们还需要关注一些其他持续存在的问题。

更好地服务于中型rustaceans

我们从生产用户那里听到的最强烈的信息之一,即2017年的调查,是人们需要更多的资源来使他们从了解Rust的概念到了解如何有效地使用它们。该路线图并未确切规定这些资源的外观(可能应该有几种),但是使我们作为一个社区致力于在这一领域投入大量工作,并以一些可靠的新材料来结束这一年。

社区

连接并增强Rust的全球社区。我们将国际化作为头等大事,并积极努力在当前被语言,地理或文化分隔的Rust子社区之间建立联系。我们将在全球范围内加速并支持Rust事件,包括RustBridge计划的进一步发展。

培养Rust的团队和其中的新领导。我们将重构Rust团队结构,以支持更大的规模,敏捷性和领导力增长。我们将通过创建更多的入门资源和直接的指导关系来系统地投资于指导。

行动呼吁

像在Rust世界中一样,这里提出的目标最终将是整个社区努力的结果-也许包括您在内!以下是我们可以为您提供最大帮助的一些团队。请注意,所有IRC通道均参考irc.mozilla.org网络。

  • WebAssembly工作组。将Rust编译为WebAssembly应该是Web上快速代码最佳选择。查看rust-lang-nursery / rust-wasm了解更多并参与进来!
  • CLI工作组。在Rust中编写CLI应用程序应该是不费吹灰之力-从找到合适的库和编写简洁的集成测试到跨平台分发。加入rust-lang-nursery / cli-wg,帮助我们实现这一目标!
  • 嵌入式设备工作组。质量,生产力,可访问性:Rust可以更好地改变嵌入式行业。让我们从2018年开始这个过程!加入我们https://github.com/rust-lang-nursery/embedded-wg
  • 生态系统工作组。我们将为整个生态系统中的重要箱子提供指导和支持。进入WG-ecosystem会议室,我们将指导您到需要帮助的地方!
  • 开发工具团队。开发人员工具(IDE,Cargo,rustdoc,Clippy,Rustfmt,自定义测试框架等)总是需要解决很多有趣的事情。加入#rust-dev-tools并与团队聊天!
  • Rustdoc团队。在您的帮助下,我们可以为每个人提供更好的文档。快来加入我们在IRC上的#rustdoc,我们可以帮助您入门!
  • 发布团队。在IRC上通过#rust-release参与回归分类和发布生产!
  • 社区团队。我们已经在社区团队中启动了几个新团队,并渴望添加新成员:活动,内容,总机,RustBridge,调查和本地化!查看我们的团队仓库或访问我们的IRC频道#rust-community,以了解更多信息并参与其中!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rust是一种现代、安全、高效的系统级编程语言,具有内存安全和数据竞争自由的特性。Rust路线图主要是指其未来发展的计划和目标。 首先,在语言方面,Rust计划通过稳定版本更新、语法改进和新特性的引入来提升编程体验。例如,该语言团队计划逐步完善异步编程能力,并提供更好的工具和库来支持开发者进行异步编程。同时,Rust也将继续改进其模块化系统和泛型编程能力,以提供更强大的代码复用和抽象能力。 其次,在工具方面,Rust希望提供更好用的开发工具和集成开发环境(IDE),以提高开发者的效率。该语言团队计划改进Rust的编译器和调试器,提供更友好的错误信息和可靠的诊断能力。此外,Rust还将支持跨平台的构建工具和包管理器,以便更方便地使用第三方库和框架。 另外,Rust还会继续加强社区和生态环境的建设。Rust计划推动更多开源项目的使用Rust进行开发,并鼓励社区成员共享他们的经验和知识。语言团队还会持续改进和扩展Rust社区网站,提供更多的学习资源和文档,以帮助新手更快地上手。 最后,Rust还会在性能和可靠性方面持续努力。该语言团队会通过更好的编译器优化和运行时系统改进来提升Rust的性能。同时,他们还会关注和解决Rust在特定场景下的性能瓶颈和限制。 总之,Rust路线图涉及了语言、工具、社区和性能等多个方面的发展计划,旨在进一步完善和提升这门编程语言的能力和易用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值