当前位置: 首页 > 科技观察

2018年

时间:2023-03-21 21:09:41 科技观察

forRust我希望2018年是无聊的一年。我不希望它很慢,我希望有很多事情要做,但我希望工作“无聊”。我们在2017年有了很多新东西,感觉是激动人心的一年(新语言特性、新工具、新库、全新的编程方式(!)、新书、新团队等)。这真的很酷,确实推动了Rust的发展,但我觉得我们一路上积累了很多技术和社会债务。希望2018年将是巩固2017年成果、偿还技术债务并完善新事物的一年。更一般地说,我们可以想象Rust的演变——2015年和2017年是大的、新事物出现的年份,2016和2018年应该是整合的年份。一些细节不分先后。完成设计和实现“飞行中”语言特性:常量表达式模块和crate宏默认泛型更符合人体工程学的implTrait专业化等等......稳定的债务(许多功能实际上已经完成但需要稳定......这是很多工作因为在这个阶段的风险比语言设计过程中的任何时候都高。所以虽然看起来你只需要在方框上打勾,但实际上它需要花费大量的时间和精力。异步/等待-努力实现一个完整的集成的语言特性和完整的库支持,使Rust成为异步编程的首选。安全指南——我们需要它作为可靠、安全和方便的编译器的优化设计。现在有太多的不确定性。支持Web程序集——工作开始了在2017年底,Rust在这方面有很多机会编译性能——我们在2017年迈出了一些大步(增量编译),但是在编写Rust程序之前还有很多“小”工作要做。这就是出色的IDE体验所需要的。错误处理-错误库是一个好的开始,我认为它对可靠性非常重要。还有其他非常重要的事情,例如:main函数中稳定的catch块,以及可能更好的函数返回语法。IDE支持——我们在前进,在2017年取得了良好的进展。我们需要发布RLS,改进Compiler集成,然后我们有很多机会来改进体验,比如:调试器集成和重构工具。其他成熟的工具(Rustfmt和Clippy应该都有1.0版本,我们应该有一个健壮的发布机制)。Cargo构建系统集成(我们计划在2017年完成,但还没有开始)持续的crates.io改进(特别是我认为我们需要在cratesquatting上工作——我们已经避开了curatecrates.io(除了安全问题),我认为适度低调的监管和管理将大大改善生态系统)Xargo集成rustup集成(见下文)Rustdoc-在2017年,有一些令人兴奋的工作,我认为我们可以做出一些大的改变,包括指导文本、智能源代码探索和更易于使用的导航。调试为中级程序员提供学习资源-2017年对初学Rust程序员来说很棒,而在2018年我希望看到更多针对中级程序员的文档、讲座等,这样当你不必陷入没有支持的深渊时你成长为一名Rust程序员,特别是如果你不想积极参与irc或其他“直播”频道。团队结构——我们在2017年显着扩展了团队结构,增加了一些新团队和新团队成员。我认为这一切都在进步,但总感觉还有未完成的工作——一些团队仍然觉得他们正在起步,而另一些团队则觉得范围太广。完善RFC流程——RFC流程是Rust的强大优势之一,在需要强大的前期设计的情况下确实很有帮助。然而,它也相当沉重,可能是一个巨大的时间陷阱,并且在某些场合可能成为压力和负能量的真正来源。我认为我们需要重新平衡一些事情,尽管我不太确定如何。沟通渠道——我们有很多沟通渠道,但都不是很好——很多人不喜欢irc,这对某些人来说是进入的障碍,很难调和。讨论论坛非常好,但在促进互动方面做得不是很好。GitHub(至少是主要的Rust存储库)可能非常大,很容易遗漏重要信息。我们在impl期间尝试了Gitter,我们使用Slack来做一些小事。两者似乎都不错,都有自己的错误和问题,与irc相比没有提供太多,而且这意味着更多的渠道需要关注。r/rust处于一种奇怪的半官方状态,有些人真的不喜欢Reddit。我不认为这里有“银弹”(指某种新技术),但我认为我们可以改进和完善它。一些新的东西嗯,有一些新的东西需要紧急完成。我试图让这个列表尽可能短:NewEra-现在是时候这样做了。我们应该规划出不再使用的内容,并为“正确”实施新功能腾出时间。国际化(i18n)-我认为让尽可能多的人可以使用软件非常重要,并且当这些实现的工具是集中的和官方的时,软件生态系统会做得更好。我们应该开发库和语言功能来帮助国际化和本地化程序。集成cargo/rustup-不需要将它们作为单独的程序,这使得新程序员更难上手。虽然这是一件相对较小的事情,但我觉得它有很大的影响。测试——Rust内置的单元测试非常简洁,但我们还需要提供更健壮的测试框架。很多很多关于优先级的考虑!而且我可能会遗漏一些图书馆和社区的东西,因为我真的不明白那里发生了什么。我认为这几乎是一年的工作,但前提是我们要抵制诱惑,在此基础上做一些更迷人、更闪亮的事情。我可能有偏见,但工具(包括Cargo)似乎是一个需要大量工作的领域,而且它很重要。这也是一个感觉“人手不足”的领域,因此我们要么鼓励更多的人专注于工具,要么削减我们正在努力实现的目标。目标到2018年底,我希望Rust成为一种真正可靠的编程语言。希望是在向后兼容性和稳定性方面建立良好的声誉,而不是停滞不前。希望社区领导者感觉像一台运转良好的机器,并且更多的社区参与者会信任领导团队。希望正在进行的项目数量少得多,悬而未决的问题也少得多(还有更多的项目正在完成或达到成熟)。希望“普通”用户会感受到我们在创新和稳定性之间取得的平衡。关于作者NickCameron是Mozilla的一名研究工程师,主要研究Rust语言。