Recently, the Rust language design team Lang Team announced the updated roadmap of the Rust language in 2024 in the official blog. Rust 2024 is the fourth edition of the programming language roadmap after Rust 2015, Rust 2018 and Rust 2021.
Lang Team said that the roadmap is just a starting point and that the specifics will change over time, and will continue to review these to see the progress made, and whether the roadmap needs to be adjusted.
The roadmap focuses on three directions, namely, lowering the learning threshold - making Rust easier for both new and existing users, expanding the ecosystem - empowering library authors, and also pushing library authors to empower users and Rust project expansion - improving development Processes to adapt to a growing number of user needs and use cases, evaluating projects that have already started.
Lower the learning threshold
Lang Team stated that their goal in Rust 2024 is to simplify programs so that developers only have to deal with the inherent complexity of their domain, and no longer have to deal with Rust's unexpected complexity.
To achieve this vision, the team has four goals:
- More precise analysis, less tedious: Improvements to borrow checkers, type inference enable the compiler to better identify whether code is correct or not. Identify and eliminate "boilerplate" patterns, such as copy-pasting the same set of where everywhere.
- Easier and more direct expression of the intent of the code: e.g. in the form of syntactic sugar (like let-else), or extending the type system (like generic associated types)
- Improve async support: Extend async-await support beyond the current "MVP", such as async fns, async drop and other features in traits.
- Make dyn Trait more useful: Broaden the set of features available for dyn, making using dyn closer to using generics.
Expand the ecosystem
Lang Team says there are many things library authors can't do, or can't easily do -- for example, they can't control the error messages users see, or deploy an "unstable" feature that requires special choices to use. So for Rust 2024, the design team hopes to enable library authors to better serve users by helping to manage the lifecycle of features or extending the functionality of the library.
To achieve this vision, the team plans to focus on four categories of work:
- Lifecycle features: Help library authors manage their development lifecycle and evolution.
- Richer abstractions: Extend the language to allow library authors to express richer abstractions.
- Customize the development experience: For example, you can customize the error message the user gets when the trait is not implemented, or introduce a custom lint
- Interoperability: Library authors are free to write code that is portable across multiple environments or specific to one environment.
Rust project extension
In order to release Rust 2024 and make Rust as functional as possible, ensuring Rust quality, stability, and overall consistency, the team will focus on the following:
- View status in a timely manner: Be able to easily determine what work the team is doing and how that work is being completed. The team expects each tracking issue to clearly identify which steps are required to drive completion of that particular feature, and to ensure that these steps are clear enough to potential contributors.
- Clear owner and communication: Rust operates by consensus, but that doesn't mean everyone has to know all the details of everything. Hence the need for a system where there is a clear owner of the work to be done, ideally the owner is not part of the Lang Team. While a simple division of labor can lead to conflict later on, frequent communication and updates are also required to ensure everyone is keeping up with the general direction of things and asking questions early on.
- Efficient, open processes with tool support: The Lang Team is always looking for ways to improve the way it operates to help keep track of where Rust projects are going and reach conclusions faster. Teams have found that processes supported by robots or other tools tend to work better.
More details on the roadmap can be found here: https://blog.rust-lang.org/inside-rust/2022/04/04/lang-roadmap-2024.html
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。