Rust in 2021

I missed the official call for blog post submissions, I still want to share some ramblings of my hopes for Rust in 2021.

I’ll split this up into two sections: What I hope to see from the community, and what I hope to see for myself.

What I want for the Rust community in 2021🔗

I want to see Rust shed some of its reputation for being hard to learn🔗

When I was learning Rust, I thought it was harder than necessary. But I would admit that it was due to writing strict idiomatic Rust while I was still figuring out how to be productive.

I think learners should give themselves patience to learn Rust by writing bad or mediocre code first, and focus productivity later.

I am not exactly sure how to create the conditions for this outcome. Maybe more people can publish more Rust that looks messy but “just works”.

I know that Rust in Action is being written and it is for an intermediate-level audience. But perhaps this looks more like encouragement to beginners to ignore the warnings from the compiler. Just write Rust code and form your own opinions.

More blog posts from developers and management using Rust at work🔗

For 2021, I don’t even care if it is from one of the many blockchain-related companies using Rust. I want to read more experiences that lay out the decision of why Rust was chosen and how the experience has been.

I am especially interested when expertise is in another language and a comparison can be made to the other language. Emphasis when performing a rewrite.

It’s great to hear Rust used in complicated, low-level development, but it would be normalizing to read about more trivial types of applications, just as a way to highlight Rust as being good for general purpose use.

Anecdotally, I feel like Go has been growing a reputation as being suitable as a scripting language kind for a while and Rust could also check many of the same boxes.

More Rust in DevOps tooling🔗

In my experience, the cultures surrounding Rust and DevOps are very similar. They both seem to attract cult-like appeal that demand adopters to adjust to thinking in a different way than they may have been taught.

The intended reasons are for a “better future experience” that usually alludes to improved cooperation at a non-technical level.

The implementations of Rust or DevOps shift considerations of future problems earlier in development. Possibly experiencing some of the friction earlier.

Rust’s benefits are often placed in a context of pure development benefit, which may be ok for now given it is primarily Devs that are writing code. But as a user, there are a few tools in the space that I’m aware of that support DevOps culture (e.g. Habitat, Linkerd) and I want to see more of them.

Better Rust Interoperability between languages🔗

Rust is entering other ecosystems through libraries via FFI. People don’t even have to know or care if they are using Rust.

However, if I’m writing the code myself, it would be nice if FFI were done without needing to be so mindful of C as the common language.

C++ and Java come to mind as currently Rust interop is a complicated dance. Rust to Javascript is improving through the Deno runtime, or through WebAssembly.

My motivation is that I’d like to work in the ecosystems where these languages are most often used (Web, Mobile and Embedded), but I stubbornly want to use Rust as much as possible.

More shared experiences from people picking up Rust as a second language.🔗

The borrow checker has a reputation that scares people away.

Especially if they are not from a traditional CS/Engineering background. And we should be trying to bring these folks into the ecosystem.

Acceptance of Rust as another language worth knowing by “average devs” would be helped with more beginners writing or talking about it. It’s my observation that a lot of developers who are self-taught or from bootcamps are mostly in the Javascript/Python/Ruby space for mostly Web facing code. But Rust can be a perfect second language to learn about types and memory management.

I believe content from this crowd would be my favorites to read since I think they’ll give valid opinions to someone who has been using Rust for years (like me) now overlook or accept without second thoughts.

Increase of copy/paste templates to help bootstrap common types of projects🔗

I have just become aware of cargo generate because of some of the niche project spaces I’m working on: WebAssembly and embedded.

Today, I keep my own repo where I offer rough working examples using common servers or patterns.

My technical wishlist🔗

Where I plan to be with Rust in 2021🔗

I plan to write more Rust that other people find useful.🔗

I plan to have serious projects🔗

A few serious projects in upcoming Rust niches so that I can produce more educational content (and hopefully even a product that others may use!)

I plan to start making money with Rust.🔗

How do I intend to help the Rust project?🔗

Conclusion🔗

I see a lot of promise in Rust's future in 2021. Much has become stable in 2020 and all that is needed is some time and encouragement.

I have enough confidence that I plan on using Rust as my main language as well as motivation to get more involved with the community.