The rust language is designed to prevent entire classes of bugs which are common in other languages, so in theory rust code should be less buggy and more “correct” for the same amount of effort.
I’ve been trying to add features to the site by modifying lemmy and holy cow I completely forgot just how difficult Rust is, especially with hardly any documentation. It’s taking me hours to do something that would take 20 minutes in Kotlin or 5 in Ruby. You get a lot of safety but it does come at a cost.
I’m still enjoying it though, but it is making my head spin.
Yeah its definitely a bit of a leap to start to grasp. I’ve been working with rust for a little but still consider myself a baby but damn is it a fun thing to invest into. So many layers and interesting ideas to learn
the part where if it compiles it will almost 100% of the time work. Of course, that’s not completely the case with some of the database stuff, but pretty much everything else works.
I feel like I also had the “if it compiles it works” experience with Golang as well, but holy cow is it a much simpler and easier to work with language. I want to like Rust, I really do, but even just the syntax is painful to look at lol.
Also the cult-like community is a bit off putting…never seen anything quite like that for any language…
It does seem to have some genuinely solid benefits though so maybe one day I’ll get into it.
Yeah I have a love-hate relationship with it haha. We used it for our backend and it was rock solid for almost a decade before the startup folded due to the pandemic. I don’t think we ever had any unit or integration tests lol, but pretty much if it compiled and the code looked correct it worked and bugs were generally easy to resolve. It was also super simple to deploy because it’s just a single binary and it handles threading really well so you only need to run a single instance per frontend VM to utilize all of the machine’s resources. Also for backend usage, there was almost always a well written built-in package for about anything we needed either in the standard library or the “extended standard library”.
With that said, the language itself…yeah I don’t really love it. Especially coming from other modern languages it’s missing so many features (basic stuff like generics, etc) and has “weird” (or maybe just different) code patterns. It always took a while to start “thinking in Golang” after working on our other code bases for a while, whereas I could bounce between other languages easily.
So yeah, for performance and reliability it was a 10/10 for us, but the language itself I felt like was a 5/10 for me.
I guess I phrased that poorly - yeah you’ll move faster in other languages, but then you’ll have a long tail of debugging. Rust will take longer at first, but you’ll have less debugging to do once it’s working.
Why is Rust-based a feature? I don’t care how your tool is built, I care for what it can do and how usable it is.
The rust language is designed to prevent entire classes of bugs which are common in other languages, so in theory rust code should be less buggy and more “correct” for the same amount of effort.
I love Rust. Although I agree with everything else, I would definitely not say “same amount of effort”.
I’ve been trying to add features to the site by modifying lemmy and holy cow I completely forgot just how difficult Rust is, especially with hardly any documentation. It’s taking me hours to do something that would take 20 minutes in Kotlin or 5 in Ruby. You get a lot of safety but it does come at a cost.
I’m still enjoying it though, but it is making my head spin.
Yeah its definitely a bit of a leap to start to grasp. I’ve been working with rust for a little but still consider myself a baby but damn is it a fun thing to invest into. So many layers and interesting ideas to learn
What parts are you enjoying??
the part where if it compiles it will almost 100% of the time work. Of course, that’s not completely the case with some of the database stuff, but pretty much everything else works.
I feel like I also had the “if it compiles it works” experience with Golang as well, but holy cow is it a much simpler and easier to work with language. I want to like Rust, I really do, but even just the syntax is painful to look at lol.
Also the cult-like community is a bit off putting…never seen anything quite like that for any language…
It does seem to have some genuinely solid benefits though so maybe one day I’ll get into it.
Yeah I tried Go and absolutely hated it. Way too many downsides to it as well. I am surprised it grew as a language at all.
Yeah I have a love-hate relationship with it haha. We used it for our backend and it was rock solid for almost a decade before the startup folded due to the pandemic. I don’t think we ever had any unit or integration tests lol, but pretty much if it compiled and the code looked correct it worked and bugs were generally easy to resolve. It was also super simple to deploy because it’s just a single binary and it handles threading really well so you only need to run a single instance per frontend VM to utilize all of the machine’s resources. Also for backend usage, there was almost always a well written built-in package for about anything we needed either in the standard library or the “extended standard library”.
With that said, the language itself…yeah I don’t really love it. Especially coming from other modern languages it’s missing so many features (basic stuff like generics, etc) and has “weird” (or maybe just different) code patterns. It always took a while to start “thinking in Golang” after working on our other code bases for a while, whereas I could bounce between other languages easily.
So yeah, for performance and reliability it was a 10/10 for us, but the language itself I felt like was a 5/10 for me.
I guess I phrased that poorly - yeah you’ll move faster in other languages, but then you’ll have a long tail of debugging. Rust will take longer at first, but you’ll have less debugging to do once it’s working.
It’s got AI too, which means it’s extra sparkly good. But points deducted for no blockchain features or running as a bunch of microservices.
Honest answer? Because many of us are tired of experiencing the same bugs over and over again for decades.
On terminals? like what?
Rust generally means more stable software. Anyone who’s developed a Rust app knows how uncompromising the borrow checker is.