The One Problem With Rust

And just for clarification, I’m talking about the Rust Programming language, not the video game.

However, branding isn’t the problem I want to discuss. Before we get into that, I just want to mention how great the Rust community is before I criticize them. Though I don’t have too much experience with the language, I know the community is incredibly welcoming and that we need more places like this online. I can tell that all they want to do is to help newcomers get started with the technology and I can tell that that’s exactly what they’re doing.

In other words, I don’t dislike Rust. Rust is a pretty amazing language. It’s fast, it’s memory-safe, it’s open source and it has an awesome community. Those are all great qualities for a programming language. By my standards, at least.

So what’s the problem, you ask? Documentation.

Documentation

Oh, not this again, you say. I’m sure you’ve all heard about the lack of documentation for Rust libraries before and I’m sure you’re all sick of hearing it. So let’s take a look at something else.

The learning curve for Rust is undeniably high, much higher than most modern programming languages like Python and Ruby. Newcomers aren’t going to be combing through the Rust Standard Library’s documentation. Newcomers are going to be reading through tutorials, guides and other learning resources. This is what the Rust community lacks.

Now, I’m not really sure exactly how many learning resources are available for Rust, but when I was just starting out (and I am still very new to the language), I essentially had two options: The Rust Programming Language and Rust By Examples. The first edition of the book was pretty difficult to wrap my head around being new to system level programming, so I ended up going with Rust By Examples.

The book was obviously flawed, so the community started to work on the second edition with the hope of lowering the learning curve. As of me writing this article, the second edition is still in its draft phase. Even so, it still serves its purpose to anyone who’s willing to invest the time to read it. For that reason, I think it’s safe to say that there’s really only two good places for newcomers to get started.

This is the problem that I had in mind.

The lack of learning resources

There seems to be a lack of learning resources in the Rust community, and we would need a lot of writers to remedy the issue. We need sites like Tutorials Point and Codecademy to take a strong interest in the language. This might even be holding back Rust from widespread adoption.

That being said, who’s to say that we can’t write our own tutorials, and develop our own interactive curricula? Nothing but the time we have available is stopping us. In its current state, I don’t think either of the two websites I mentioned earlier would consider teaching Rust as there hasn’t been a lot of demand for Rust developers in the market. That being said, without interest in Rust, that may never happen.

Wouldn’t it be amazing if the Rust community developed an interactive tutorial similar to the ones you would find on Codecademy to teach the Rust Programming Language? Isn’t that the kind of thing the newcomers would be interested in using? I’ve always believed that documentation is one of the most important parts of an open source project, while it also acts as an easy way for many technical and non-technical people contribute to a project they love.

I realize that there are more than two resources out there for learning Rust, but my point is that most of them don’t seem to be as accessible to beginners. If you know a thing or two about Rust that most people don’t, then write a blog post about it! Someday, someone, somewhere will thank you.

At least, that’s my opinion.


Originally published at www.natejms.com.

The Rust logo, by Mozilla, is licensed under CC BY 4.0