this post was submitted on 05 Jul 2025
297 points (98.4% liked)

Programmer Humor

25699 readers
1211 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] mholiv@lemmy.world 31 points 1 month ago (2 children)

Skill Issue.

For reals though adopting a functional style of programming makes rust extremely pleasant . It’s only when people program in object oriented styles that this gets annoying.

No loops, and no state change make rust devs happy devs.

[–] magic_lobster_party@fedia.io 16 points 1 month ago (1 children)

I’m a OOP programmer.

I wrap everything within Arc<Mutex<>>.

I’m a happy dev.

[–] mholiv@lemmy.world 11 points 1 month ago* (last edited 1 month ago) (1 children)

I mean yah. That’s what it takes. But like when I try to write code around Arc<_> the performance just tanks in highly concurrent work. Maybe it’s an OOP rust skill issue on my end. Lol.

Avoiding this leads, for me at least, to happiness and fearless, performant, concurrent work.

I’m not a huge fan of go-lang but I think they got it right with the don’t communicate by sharing memory thing.

[–] PlexSheep 1 points 1 month ago (2 children)

You mean mutex? Arc allows synchronous read only access by multiple threads, so it's not a performance bottleneck. Locking a mutex would be one.

[–] tatterdemalion@programming.dev 5 points 1 month ago (1 children)

Arc is not free, and the extra atomic operations + heap allocations can become a bottleneck.

[–] PlexSheep 1 points 1 month ago (1 children)

Oh, I did not know that. Well, it makes sense that it has a heap allocation, as it becomes more or less global. Though not sure why the atomic operations are needed when the value inside is immutable.

[–] Miaou@jlai.lu 1 points 1 month ago

How can you otherwise keep track of an object's lifetime if copies are made concurrently?

[–] mholiv@lemmy.world 3 points 1 month ago* (last edited 1 month ago)

I mean it could be Mutex, or Rwlock or anything atomic. It’s just when I have to put stuff into an Arc<> to pass around I know trouble is coming.

[–] AnarchoEngineer@lemmy.dbzer0.com 4 points 1 month ago (3 children)

I just started learning rust like two days ago and I haven’t had too many issues with OOP so far… is it going to get considerably worse as the complexity of my projects increases?

[–] qaz@lemmy.world 5 points 1 month ago

It will become more complex when you start needing circular references in your datastructures.

[–] mholiv@lemmy.world 3 points 1 month ago

You’ll be fine. You will learn the lifetime stuff and all will work out. It’s not that bad to be honest.

[–] felsiq@lemmy.zip 1 points 1 month ago

Worse in the sense of more errors, sure, but as you go you’ll pick up more of the rust patterns of thinking and imo it’s very worth it. It’s an odd blend and can be a bit verbose but I definitely prefer it to a pure OO or pure functional style language personally