This viewpoint is very controversial, and I have no capacity to debate it with anyone who disagrees with me. But Rust has a very powerful macro system, so I don’t have to.
The reason why I think it makes sense to prioritize perf over everything except safety is that, if Rust is not the fastest high-level programming language, important systems will be implemented in a faster, unsafe language.
Saw this on Reddit (https://www.reddit.com/r/rust/comments/g04rq9/a_week_of_experiencing_rust/fn8rzy1?utm_source=share&utm_medium=web2x) from a new Rustacean on how they feel learning Rust:
I'm a snowboarder that's learning how to ski. I have no idea why I have this extra thing on my other foot or poles in my hands. Also, I keep falling. I know eventually it gets better.
I thought Steve's comment below was really inspiring and belies the "can do" attitude of the Rust project. Not sure how you'd capture it in a single quote though.
"You can't just call everything undefined behavior!"
"haha unsafe go brrr"
What's special about UB is that it attacks your ability to find bugs, like a disease that attacks the immune system. Undefined behavior can have arbitrary, non-local and even non-causal effects that undermine the deterministic nature of programs. That's intolerable, and that's why it's so important that safe Rust rules out undefined behavior even if there are still classes of bugs that it doesn't eliminate.
Not a Rust quote and I don't mean to bash on C++ but this made me chuckle:
"Whenever I program in C++ I feel like I'm building a sports car out of duct tape"
Ask Math Anything with Po-Shen Loh - 04/14 Tue
Vecs in Rust in general, are crazy fast; faster than I can replicate in C. Amazing.
I don't think our quote of the week should be something bashing another language. It should be something about Rust, or the Rust community.
I agree. Which is why I said "I don't mean to bash on C++ ".
It was just a bit of humor.
If it's really unacceptable, somebody please delete it.
I don't think it needs deleting, it's just not something we should highlight in TWiR.
think im turning into a computer because ive been reading the rust book for the past two days and now im dreaming in code
by user Koffeekake on community discord server
Might be good to have this as the quote of the week? It sends a good message IMHO.
(Also, @ZiCog I found you're quote funny too but I agree with josh)
Found a great quote:
I love Rust like I love Dark Souls.
It's difficult, but fair. I can not praise enough the software developers that realize proper errors are vastly superior to extensive docs.
And it's worth noting that we have fairly extensive docs as well, so it's not an either-or situation.
It's the typical "pick all 3" solution that the Rust team loves to find.
You are correct! In my experience learning Rust, more often than not, the error messages were enough to correct the code and make it compile (well, after lifetimes "clicked" in my head), and then I would go to the docs for those error codes to go deeper into the problem, concepts and different (but equivalent) examples.
The purpose of pin is to have unsafe code in one crate make guarantees to unsafe code in another crate, possibly with non-unsafe code in the middle