8000 Merge pull request #372 from rust-lang/roadmap-2019 · Amndeep7/blog.rust-lang.org@e052a2a · GitHub
[go: up one dir, main page]

Skip to content

Commit e052a2a

Browse files
authored
Merge pull request rust-lang#372 from rust-lang/roadmap-2019
2019 roadmap blog post
2 parents 904847f + ae4e935 commit e052a2a

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

posts/2019-04-23-roadmap.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
layout: post
3+
title: "Rust's 2019 roadmap"
4+
author: The Rust Core Team
5+
---
6+
7+
Each year the Rust community [comes together][roadmap-process] to set out a
8+
roadmap. This year, in addition to the [survey], we put out a [call for blog
9+
posts][blog-2019] in December, which resulted in [73 blog posts][read-rust]
10+
written over the span of a few weeks. The end result is the recently-merged
11+
[2019 roadmap RFC][rfc]. To get all of the details, please give it a read,
12+
but this post lays out some of the highlights.
13+
14+
[roadmap-process]: https://github.com/rust-lang/rfcs/pull/1728
15+
[survey]: https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html
16+
[blog-2019]: https://blog.rust-lang.org/2018/12/06/call-for-rust-2019-roadmap-blogposts.html
17+
[read-rust]: https://readrust.net/rust-2019/
18+
[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/2657-roadmap-2019.md
19+
20+
# The theme: Maturity
21+
22+
In short, 2019 will be a year of *rejuvenation* and *maturation* for the Rust
23+
project. We shipped a lot of stuff last year, and grew a lot. Now it's time to
24+
take a step back, take stock, and prepare for the future.
25+
26+
The work we have planned for this year falls into three major categories:
27+
28+
* Governance: improving how the project is run
29+
* Finish long-standing requests: closing out work we've started but never finished
30+
* Polish: improving the overall quality of the language and tooling
31+
32+
## Governance
33+
34+
Over the last three years, the Rust project has grown a lot. Rust used to have a core team of 8 members. When we added sub-teams in 2015, we grew to 23 members. We've now grown to over 100 -- that's bigger than many companies! And of course, looking beyond the teams, the size of the Rust community as a whole has grown tremendously as well. As a result of this growth, we've found that the processes which served us well when we were a smaller project are starting to feel some strain.
35+
36+
Many of the teams have announced plans to look over revamp their processes to scale better. Often this can be as simple as taking the time to write down things that previously were understood only informally -- sometimes it means establishing new structures.
37+
38+
Because of this widespread interest in governance, we've also created a new [**Governance Working Group**][gov]. This group is going to be devoted to working with each team to hone its governance structure and to help pass lessons and strategies between teams.
39+
40+
[gov]: https://internals.rust-lang.org/t/governance-working-group-announcement/9637
41+
42+
Additionally, the RFC process has been a great boon for Rust, but as we've grown, there have been times where it didn't work so well too.
43+
We may look at revisions to the process this year.
44+
45+
## Long-standing requests
46+
47+
There are a number of exciting initiatives that have been sitting in a limbo
48+
state -- the majority of the design is done, but there are some lingering
49+
complications that we haven't had time to work out. This year we hope to take
50+
a fresh look at some of these problems and try hard to resolve those
51+
lingering problems.
52+
53+
Examples include:
54+
55+
- The Cargo team and custom registries
56+
- The Language team is taking a look at async/await, specialization, const generics, and generic associated types
57+
- The Libs team wants to finish custom allocators
58+
59+
## Polish
60+
61+
Finally, the last few years have also seen a lot of foundational work. The
62+
compiler, for example, was massively refactored to support incremental
63+
compilation and to be better prepared for IDEs. Now that we've got these
64+
pieces in place, we want to do the "polish" work that really makes for a
65+
great experience.
66+
67+
Examples:
68+
69+
- Compile times and IDE support
70+
- Polishing the specification of the language by improving [the reference] and laying out [the unsafe code guidelines]
71+
- The WebAssembly WG's work this year includes polishing our wasm support, for example, debugging
72+
73+
[the reference]: https://doc.rust-lang.org/stable/reference/
74+
[the unsafe code guidelines]: https://github.com/rust-lang/unsafe-code-guidelines
75+
76+
## Conclusion
77+
78+
This post only covered a few examples of the plans we've been making. [If you'd like to see the full details, take a look at the RFC itself.][rfc]
79+
80+
Here's to a great 2019 for Rust!

0 commit comments

Comments
 (0)
0