During the RustFest 2018 in Rome, Aaron Turon said something that stuck with me, which was that Rust is actually about empowering developers. Personally I think this is a very profound thought, that the goal of a programming language is to help others to do and achieve things they never thought possible.

JavaScript empowers developers by being accessible - everyone can start and succeed quickly. It’s great. Rust on the other hand empowers developers by giving them the tools to go deep.

Let’s unpack that.

Community

Typically people like sharing their knowledge with each other, they engage in discussions, and show off their work. The Rust community is particularly welcoming of newcomers (maybe because that stuff is hard) and while discussions are sometime pretty academic, the typical Rust event is very laid back and for everybody to be themselves. RustFest talks go mindblowingly deep.

Creating and supporting this kind of community is neither easy nor evolving on its own. Its hard work that is paying off.

Interop

WASM is the most recent proof that Rust can make web applications faster and therefore browser game development considerably better. On top of that, Rust programs can be published on npm, and work with any language using FFI.

Implementing the hard stuff

Concurrency used to be one of the harder things in programming, thinking about threads, locking, and shared access. The same goes for memory management and accessing low-level things using language features like enums, traits, or lambdas. On top of that there is a package manager and proper tools to knit it all together.

The List

What can we wish for in 2019 then? It might not be obvious but there are some things outside of the technical realms that would be great.

🏁 Intermediate Content

Books, blog posts, videos, workshops, … more ways to learn about performance tuning, best practice architecture, or running large projects. There is great content to get started like Rustlings, RustBridge, a good amount of tutorials, a podcast, projects to check out. But what about software engineering practices and avoiding maintenance headaches?

🏁 Crate Support

Some fundamental crates go in and out of support quickly and are bound to a single or few maintainers. These people are great and we can’t thank them enough that they did what they did. Sometimes however, life gets in the way and whatever happens - crates silently go out of support. I have been guilty of that myself, and I think about this every day.

In 2019, we should think about ways to better support critical crates. Be it security, database/… access, or UI - if anyone wants to build a company on Rust, we can empower them to build the best possible product they can.

🏁 Remain Great

Growth is one of the hardest things: people with different backgrounds flock in, new - perhaps weird - projects get traction, mistakes will be made. As a community, I want Rust to remain the awesome, friendly, and nerdy community that inspires and impresses. I want to keep saying “look at the Rust community, they have awesome events where everyone can be who they are”.

… and async/await 😄

2019 Has Already Started

I hope to provide more intermediate content this year, starting with a book in February. Afterwards I’ll have time to do post again! Keep up to date with the blog’s RSS feed.