this post was submitted on 25 Sep 2024
891 points (87.5% liked)

Programmer Humor

19564 readers
1005 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 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 57 points 1 month ago* (last edited 1 month ago) (29 children)

Why is everyone down on Rust? Seriously. I don't know it but I've considered learning it and it appeals to me and people literally scoff when I mention it. Saw it referred to as a meme language on Lemmy, which is built in Rust. What am I missing?

[–] [email protected] 6 points 1 month ago (11 children)

i think it’s mainly people being cranky and set in their ways. they got used to working around all the footguns/bad design decisions of the C/C++ specifications and really don’t want to feel like it was all for nothing. they’re comfortable with C/C++, and rust is new and uncomfortable. i think for some people, being a C/C++ developer is also a big part of their identity, and it might be uncomfortable to let that go.

i also think there’s a historical precedent for this kind of thing: when a new way of doing things emerges, many of the people who grew up doing it the old way get upset about it and refuse to accept that the new way might be an improvement.

[–] [email protected] 5 points 1 month ago (9 children)

Is Rust as close to the metal as C? Seems like there would still be a need for C. I could see Rust replacing Java as something that's so ceremonial and verbose, but from my limited perspective as a sometimes java dev, having only the most glancing experience with C, it seems like C would be hard to replace because of what it is. Buy I honestly don't know much about Rust either, I just think JS is so finicky and unpredictable whereas web assembly seems extremely fast and stable.

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago) (2 children)

Rust can create native binaries but I wouldn't call it close to the metal like C. It's certainly possible to bootstrap from assembly to Rust but, unlike C, every operation doesn't have a direct analog to an assembly operation. For example Rust needs to be able to dynamically allocate memory for all of its syntax to be intact.

[–] [email protected] 7 points 1 month ago (1 children)

For example Rust needs to be able to dynamically allocate memory for all of its syntax to be intact.

Hmm, you got an example of what you mean?

Rust can be used without allocations, as is for example commonly done with embedded.
That does mean, you can't use dynamically sized types, like String, Vec and PathBuf, but I wouldn't consider those part of the syntax, they're rather in the std lib...

[–] [email protected] 2 points 1 month ago

So you're right that this is a bit arbitrary because the line between the standard lib and the language is blurry, but someone writing Rust is going to expect Vec to work, it doesn't even require an extra "use" to get it.

Perhaps a better core example would be operator overloading (or really any place using traits). When looking at "a + b" in Rust you have to be aware that, depending on the types involved, that could mean anything.

Anyway, I love Rust, it just doesn't have the 1:1 relationship with the assembly output that C basically still has.

[–] [email protected] 3 points 1 month ago

Thank you for the explanation.

load more comments (6 replies)
load more comments (7 replies)
load more comments (24 replies)