Hacker News new | ask | show | jobs
Ask HN: Is Rust too complex for mere mortals?
17 points by alexkon 3243 days ago
C++ is notorious for often being too hard to get your code completely right. Is Rust affected by the same curse?

Did you work on a Rust project in a team with ordinary, non-genius programmers? How does the expressive power and complexity of the language affect the quality of their code?

I want to understand how demanding Rust is to developers compared to C++, C, and Go.

3 comments

In my limited experience, Rust is actually easy - after about 2 weeks give or take a bit - of programmers hating the compiler and the rigidness of the language. Then they've got used to most of the ways to make the compiler happy and its easy sailing. Of course my sample size is like 5 people so I could easily be way off here.
This question has come up a few times, so you can search to get other opinions.

My own is rust can be conquered with enough patience and time, but because of the high entry costs it will always remain a niche language.

I've written C and C++ professionally, also used Go and Rust on hobby projects. Rust, by far, was the hardest to learn and get something useable out of it. Because of that, I would never recommend someone put it into production unless they have a very specific use case that Go could not handle. The onboarding costs would be just too much.

I do like the concepts behind it, and thought it would be the answer to Go's limitations in expressiveness.

I do still hold out hope for it though. I think with the right tooling and development environment it could one day become useable, just like Java and C++ benefited.

What are the high entry costs for Rust?
Unless you have a valid need to write low-level code (something you would have done in C or C++), choosing Rust for your next project will destroy the productivity of your team.
> choosing Rust for your next project will destroy the productivity of your team.

So would be Python, JavaScript, Go or any new language you pick for your future project ! Of course you won't immediately be as productive with a language you just learned that you were with a language you've been using for 5 years. But once you have a good grasp on the standard library, how to idiomatically structure your code and the tooling in general you can be pretty productive with rust nowadays.

Of course the ecosystem isn't mature in every fields, so you need to check if there are existing libraries / framework for what your trying to do, but that's what you should do in any language anyway : I don't think I would recommend NodeJS for developing cross-platform Qt GUI …

In my experience, writing CLI tools with Rust is really cool !