DEV Community

loading...

Discussion on: How Rust Lets Us Monitor 30k API calls/min

Collapse
gronkdaslayer profile image
gronkdaslayer

It's easy to make mistake if you're not careful, or don't know what you're doing.

Rust does help a lot but you can still do things like this:

fn main() {

let mut arr= [1,2,3];
for a in 0..10 {
arr[a] = arr[a] + 1;
}
}

Which will obviously panic. Essentially, stack overflows are still possible.
C/C++ puts the onus on the developer, which is not always a bad thing. If you ever get to write device drivers, you'll realize that you must remain extremely disciplined when writing your code, and it's not just a matter of language.

I actually like Rust. I'm seriously considering rewriting some code we have (in Java, which I dislike a lot) and use Rust to do so. It's mature enough, and it has a fair amount of crates that I can use and not worry about writing myself.

The problem with higher level languages, like Java, Node, Python, C# and Rust to a certain extent is that they make devs become lazy and complacent. They don't check return codes from functions, don't check for null pointers, and they let the GC take care of the memory for them. At least Rust doesn't have a GC, which is a very good thing.