this post was submitted on 25 Sep 2024
879 points (87.7% liked)

Programmer Humor

19331 readers
155 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
[–] Juice@midwest.social 54 points 2 weeks ago* (last edited 2 weeks ago) (9 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?

[–] problematicPanther@lemmy.world 45 points 2 weeks ago (1 children)

Butthurt C devs don't want it replacing their language.

[–] rain_worl@lemmy.world 17 points 2 weeks ago

as guy who likes c: think rust is a good and cool idea

[–] Feyd@programming.dev 32 points 2 weeks ago (1 children)

I think rust has good ideas and may even become the default systems language in the mid-term. I find it irritating that there is a very vocal subset of rust proponents that tend to insist that every project in every language needs to be rewritten in rust immediately. I suspect that is also why other people are down on rust.

[–] Juice@midwest.social 6 points 2 weeks ago

That makes sense! Thanks for your insight

[–] fl42v@lemmy.ml 23 points 2 weeks ago

I think ppl just got pissed with the fanboys unironically asking to RIIR everything. The language itself is comfy AF, tho

[–] Sl00k@programming.dev 16 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Imo it's bc it's the new kid on the block. Yes it's 10 years old but barely becoming common use in production and government mandates are only speeding that up. In actuality it's a great language and has been hyped for a few years by people who actually use it. Python went through the same thing in the 2010s where devs really tried clowning on it, now it's used everywhere.

[–] Juice@midwest.social 5 points 2 weeks ago* (last edited 2 weeks ago)

Good to know, I've only been a dev since 2019 so I appreciate the long view

[–] uis@lemm.ee 16 points 2 weeks ago (3 children)

For me "The Critical Flaw" of rust is its compiler. And requirent of 12 GB of disk space to compile just the frontend of compiler. Even GCC will all frontends(C, C++, Ada, Fortran, Modula-2, JIT) requires less space.

But joke is probably about "rewrite in rust" culture.

[–] Juice@midwest.social 8 points 2 weeks ago

Wow that's enormous. I'll have to learn more about that. Thanks for the info!

[–] AnUnusualRelic@lemmy.world 1 points 2 weeks ago

Maybe someone ought to rewrite rust in C.

[–] bi_tux@lemmy.world 0 points 2 weeks ago (1 children)

that's because Rust is more modern and in modern days we don't rly have hard disk limitation, also it's probably because the compiler tells you the solution to most problems

[–] WhyJiffie@sh.itjust.works 2 points 2 weeks ago (1 children)

and in modern days we don't rly have hard disk limitation

well if you are a corporation, that's true. Otherwise, not much

[–] bi_tux@lemmy.world 1 points 2 weeks ago (1 children)

I mean c'mon, every pc that can compile rust in a reasonable time has at least 20gb of storage

[–] WhyJiffie@sh.itjust.works 1 points 2 weeks ago

yeah but I don't want to use up 20 GB just for a single project. It's not like my hard drive is 80% free. more like 10% free, even though it's large, because I'm using it and I'm already selective on what I'm doing on it

[–] dessalines@lemmy.ml 15 points 2 weeks ago

I don't think many ppl are down on rust... it's won developer's most favorite to use for like 5+ years now in a row on stackoverflow.

[–] affiliate@lemmy.world 6 points 2 weeks ago (2 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.

[–] Feyd@programming.dev 8 points 2 weeks ago

Some rust proponents having this attitude is probably part of the problem.

[–] Juice@midwest.social 5 points 2 weeks ago (3 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.

[–] themoken@startrek.website 5 points 2 weeks ago* (last edited 2 weeks 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.

[–] Ephera@lemmy.ml 7 points 2 weeks 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...

[–] themoken@startrek.website 2 points 2 weeks 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.

[–] Juice@midwest.social 3 points 2 weeks ago

Thank you for the explanation.

[–] LPThinker@lemmy.world 2 points 2 weeks ago

I mean, the simple proof is that Rust has been growing by leaps and bounds in the embedded world, which is the closest to bare metal you get. It’s also being used in the Linux kernel and Windows, and there are several projects building new kernels in pure Rust. So yeah, it’s safe to say that it’s as close to the metal as C.

Also, the comparison to Java is understandable if you’ve only been exposed to Rust by the memes, but it doesn’t hold up in practice. Rust has a lot more syntax than C (although that’s not saying much), but it’s one of the most expressive languages on the market today.

[–] frezik@midwest.social 2 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

It's slightly less close to the metal as C. Array bounds checks are always going to cost you something, for example. However, if you look at the speed of numeric computation in C, Rust, and Go, they're all in the same order of magnitude performance compared to things like Python or JavaScript (not including things like PyPi, which is C with extra steps).

[–] Juice@midwest.social 2 points 2 weeks ago (1 children)

Wow thanks so much for breaking that down for me! The discussions I've been having here and the information devs are sharing is really kicking me off the fence about learning Rust

[–] frezik@midwest.social 2 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Eh, I'd still go for it. I find the Rust compiler tends to amplify my impostor syndrome--it tells you all the ways you are objectively being stupid. I know that's not really selling it, but it's doing that stuff for a reason. I'm especially hopeful that it becomes the standard way to do things with microcontrollers; that's about the only place I write C/C++ at all.

[–] vga@sopuli.xyz 2 points 2 weeks ago* (last edited 2 weeks ago)

It's like a good C++ that is actually able to replace it. There are lots of places where a good C++ is useful. Like everything that needs low latency and low resource usage.

But it's not an easy language, so (I'm guessing) people who see everyone loving it but are unable to learn it start to suffer some sort of cognitive dissonance. If it's too difficult for me to learn, that must be its fault, not mine.

[–] Grandwolf319@sh.itjust.works 2 points 2 weeks ago

Cause it’s a C++ replacement when said audience never asked for one. It’s great but it’s still waaaayy too early, people need to slowly get comfortable with it.