this post was submitted on 12 Apr 2024
364 points (96.0% liked)

linuxmemes

20880 readers
4 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] MajorHavoc 9 points 7 months ago (2 children)

Rust needs to get off my damn lawn. Lousy kids with their type-safe bullshit fake pointers.

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

Go hang out with GoLang, it's fast too AND easy.

[–] MajorHavoc 3 points 6 months ago (1 children)

Yeah. Putting my old man crankiness aside, for a moment, I adore goLang. GoLang is like having a youngest grandchild. It can do whatever it wants and I'll praise it.

[–] [email protected] 6 points 6 months ago* (last edited 6 months ago) (1 children)

I literally learned it over a one week vacation. The only other language that comes close to being that easy to learn is Python. I often tell folks, if C and Python had a baby, it would be GoLang.

[–] MajorHavoc 4 points 6 months ago

if C and Python had a baby, it would be GoLang.

That's a great description.

[–] [email protected] 5 points 6 months ago (1 children)

Rust is heresy. Everything should be mutable, the way that God intended it to be!

Seriously though as someone who has mainly done embedded work for decades and got used to constrained environments, the everything is immutable paradigm seems clunky and inelegant. I don't want to copy everything all the time.

Now if you'll excuse me, these null pointers aren't going to dereference themselves

[–] [email protected] 5 points 6 months ago (1 children)

You seem to have gotten a wrong impression there. Rust absolutely has mutability: https://doc.rust-lang.org/rust-by-example/scope/borrow/mut.html

I would even go so far that Rust is making mutability fashionable again.
More modern languages had generally kind of ousted mutability, but as you say, that means tons of copying, which was a no-go for Rust's performance goals.

So, they looked for ways to allow for mutability without it being a footgun. As such, Rust's mutability handling differs from many other languages in that:

  • It's practically always explicit when something is mutable.
  • Whether something is mutable is associated with the variable binding rather than the data type. This means you can temporarily opt into mutability (if you have ownership of that variable).
[–] [email protected] 1 points 6 months ago

I was more referring to the fact that everything is immutable by default. As someone who's just starting to get old (40) and literally grew up with C, it's just ingrained in me that a variable is... Variable.

If I want a variable to be immutable I would declare it const, and I'm just not used to the opposite. So when playing with Rust, the tutorial said that "most people find themselves fighting with the borrow checker" and sure enough, that's what I ended up doing!

I like the concepts behind it, it really encourages writing safe code, and I feel like it's not just going to be a fad language but will likely end up underlying secure systems of the future. Linux kernel rewrite in Rust when?

It's just that personally I don't have the flow of writing code like I would in C/++, just not used to it. The scoping, the way you pass variables and can sort of "use up a reference" so it's not available anymore just feels cumbersome compared to just passing &memory_location and getting on with it, lol