I'll one up you: at this point I'm becoming pretty sure that this is a person who actually hates LLMs, who is trying to poison the well by trying to give other people reasons to hate LLMs too.
>A pity. Saw Zig as something rising but with this kind of toxicity, no thanks.
Don't get me wrong, it is a bit toxic. However, I feel like taking one comment in a larger article and blowing it up out of proportion is just as toxic.
If you put more salt into this rather thinly-stretched metaphorical cup when telling me what Microsoft did you are not going to endear yourself to me. Why muddy your message?
>You get memory safety. That's about it for Security
Not true, you get one of the strongest and most expressive type systems out there.
One example are the mutability guarantees which are stronger than in any other language. In C++ with const you say "I'm not going to modify this". In Rust with &mut you're saying "Nobody else is going to modify this." This is 100x more powerful, because you can guarantee nobody messes with the values you borrow. That's one very common issue in efficient C++ code that is unfixable.
Sum types (enum with value) enable designing with types in a way otherwise only doable in other ML-based languages. Derive macros make it easy to use as well since you can skip the boilerplate.
Integers of different sizes need explicit casting, another common source of bugs.
Macros are evaluated as part of the AST. A lot safer than text substitution.
Further the borrow checker helps with enabling compile time checking of concurrency.
The list goes on, but nobody that has tried Rust properly can say that it only helps prevent memory safety issues. If that's your view, you just showed that you didn't even try.
Yeah, I was going to say, if anybody with distributed systems knowledge actually thought about this code, it wouldn't have happened.
If you added model checking to it you could have prevented it though, because people that know how to program a model checking program, will see the error right away.
reply