Rust in 2018
— Streamline Collaboration and Empower Intermediate Users
I wrote about the future of Rust before and it seems like nobody stops me from doing it again! Quite the contrary: this time the Rust core team even asked for it. I'm a bit late to the party, but here are my 2 cents about the priorities for Rust in 2018.
There's a depressingly high chance that we've never met before — which is a real shame. For some context: I come from dynamically typed languages like Python and PHP. Rust was the first language that allowed me to write real low-level code without feeling like arguing with a bouncer.
When I was in Columbus, Ohio for Rust Belt Rust, I met Niko Matsakis, Ariel Ben-Yehuda, and Santiago Pastorino. Those fine gentlemen eagerly worked on non-lexical lifetimes during the impl-period. Watching them hack away on the compiler was deeply inspirational to me, and I started wondering if I could contribute, too. Needless to say, the barrier to entry for hacking on the compiler can be quite high. I didn't contribute anything yet.
One thing I'd love to do is to spend short 30-60 minute chunks of time to fix a small thing in the compiler here and there. Could be as simple as renaming a variable, writing a test or adding some documentation. Hence my first wish is, that contributing to the language will become easier. That could be achieved by providing extensive mentorship, more entry-level tickets, and better compiler documentation. All of that was already suggested by Niko.
On a related note, I'd like to see more talks/guidelines/books targeting intermediate Rust programmers. This includes discussions on how to structure big projects in Rust and Rust-specific design patterns. I want to read more about professional Rust usage and see case-studies from various industries. For example, there is a startup called snips, which builds an on-device voice-assistant using Rust. They integrate with C and C++ libraries and I want to hear more about their journey.
I try to follow the RFC process very closely, but my time is limited. My wish is, that I can open any RFC and immediately get its status:
- A summary of the discussion with major pros and cons.
- A simple usage example, right at the beginning.
- The next steps towards stabilization.
For example, if I look at this (not so) random issue, I don't even know where to start. What are the biggest blockers right now? Who is actively pushing this forward? How can I help out?
Github is great for code, but conversations about new features regularly get out of hand. This is not a problem, that is limited to Rust, either. Just look at other big projects like Docker, Kubernetes, or Node. Maybe we need a new tool for that.
I'm convinced, that by improving documentation and mentorship, we can grow the number of contributors significantly and stabilize many highly-anticipated features this year.
1. Disclaimer: I never watched a single episode of Power Rangers.↩
Thanks for reading! I write about Rust and my (open-source) projects. If you would like to receive future posts automatically, you can subscribe via email or RSS.