This past May, I started a new job working in Rust. I was somewhat skeptical of Rust for a while, but it turns out, it really is all it’s cracked up to be. As a long-time C++ programmer, and C++ instructor, I am convinced that Rust is better than C++ in all of C++'s application space, that for any new programming project where C++ would make sense as the programming language, Rust would make more sense.
How does Rusts features enable Lemmy development? Why not write it in Go or something similar? I’m a systems programming noob. Just want to know why you chose Rust.
i can’t speak for the lemmy’s developers but rust is basically the perfect language for backend servers
it’s incredibly fast
it’s incredibly safe
there is clippy, a incredibly powerful tool to detect common mistakes
statically linked libraries (bad for normal applications but ideal for servers, it’s why go does it)
incredibly powerful pattern matching
very safe and easy-to-use generics
sanitized macros
these are just a couple of things that came to mind. for most of rust’s life it was used as a language to create backend servers and dynamically link libraries so it ended up being very good for those things
This is spot on. I’ll say the two other things that almost every other language has gotten wrong, that makes me never want to use another language again, is errors, and results / optionals.
Your number one issue in most languages is the dreaded nullpointerexception. Rust doesn’t have them: if a value might be missing or have an error, that is typed as an optional, and you have to deal with that at compile time. I can’t stress enough how well this works.
@nutomic@lemmy.ml has done massive code refactors, and you can pretty much guarantee that if it compiles, it works.
Also having a memory safe language is nice, and we never have to worry about balooning memory usage.