this post was submitted on 02 Jul 2023
17 points (66.0% liked)

Rust

5980 readers
72 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] traches@sh.itjust.works 15 points 1 year ago (1 children)

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.

[–] RangerHere@programming.dev 11 points 1 year ago* (last edited 1 year ago) (2 children)

I love Rust. Although I agree with everything else, I would definitely not say "same amount of effort".

[–] snowe@programming.dev 8 points 1 year ago (1 children)

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.

[–] keef@programming.dev 5 points 1 year ago (1 children)

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??

[–] snowe@programming.dev 4 points 1 year ago (1 children)

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.

[–] einsteinx2@programming.dev 1 points 1 year ago (1 children)

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.

[–] snowe@programming.dev 2 points 1 year ago (1 children)

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.

[–] einsteinx2@programming.dev 1 points 1 year ago

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.

[–] traches@sh.itjust.works 4 points 1 year ago

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.