this post was submitted on 03 Oct 2024
38 points (88.0% liked)
Programming
17661 readers
245 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
=> Zig is designed to make you do it right easily, and very hard to do it wrong.
In other words, Zig will let you be, but warn you when you are doing something wrong, where Rust is like Karen who is always screaming at you for every word you are typing.
To summarize, you really need to /want/ to fuck up to fail your memory management... If after all that you still can't manage your memory, it might be better for you to look for another carer.
Something is sure thou, Zig is very safe - just as it's safe to cut my veggies with a knife. I might cut a finger and bleed a little bit, but I will not use plastic knife "because it's safer".
Moreover; You are talking like if Rust is safe, all the time, which is not true in reality:
Basically, you're comparing a hypothetical world where Rust is always safe to a superficial glance at Zig's capabilities to claim a "winner" here.
And for the String library... Are you fucking serious? Do you want to compare the Zig's Std library versus the famously tiny Rust Std library? Really?
A crate having the
unsafe
keyword doesn't make the crate unsafe. Theunsafe
keyword just tells the compiler: "I know that what I'm trying to do may lead to memory safety issues, but I, as the programmer guarantee you that the codeblock as a whole is safe, so turn off some of your checks".Using the
unsafe
keyword in rust is no much different than using a C library in rust.It's when you're at the point of saying that unsafe is safe, it's the point where you should just shut it up kid...
I don't know why you are being so rude. I thought it was the rust community that was known for being toxic?
It's not my opinion on what the
unsafe
keyword means. That's its purpose. Nobody ever wants to write unsafe code on purpose. Theunsafe
keyword was created to allow safe programs to be created in rust that wouldn't be accepted by the strict rust compilers.In a Venn diagram, there are 2 circles: safe programs (1) and programs that are deemed safe by the rust compiler (2).
Circle 2 is smaller than circle 1 and entirely contained inside it. However, there is no reason to not let people write programs from circle 1 that aren't in circle 2. The
unsafe
keyword exists to enable programmers to write those programs in rust. However, it comes with a warning, now the programmer is the one responsible for making the program inside circle 1.Ok I understand now. You are right. Thank you.