Re:Rust is a hard way to make a web API
by Const-me on Saturday January 16, 2021 @08:45AM
(#25802119)
All modern OSes are written in C and/or C++, unsafe code is inevitable there. Some people tried to fix that a few times (hardware java machines, singularity/midori, etc.), wasn't good enough.
> unsafe code called from Dictionary.Remove
For creating, and checking for, empty reference.
Rust standard library uses unsafe way more. That design has consequences, e.g. check this https://medium.com/@shnatsel/how-rusts-standard-library-was-...
It's somewhat harder to screw up when you can rely on VM guarantees, and don't need that level of trust in the libraries you consume.
Re:Rust is a hard way to make a web API
by Arnavion on Saturday January 16, 2021 @04:13PM
(#25805558)
You misunderstand. I have nothing against the standard libraries of a language using unsafe code. However you are the one that said:
>but for general-purpose stuff like the web you never need anything unsafe.
... and:
>> it's pretty common in both of these languages for there to be C libraries involved somewhere in the stack.
>Negative. [...] All their core components are 100% managed code.
... so I posted a correction.
Then there's crypto, for which the corelib defers to the OS (CNG / openssl) because doing crypto in managed code is hard.
But forget all that; even pure C# code isn't safe because it occasionally needs to hook into the CLR for unsafe things. Eg https://source.dot.net/#System.Private.CoreLib/Dictionary.cs... - unsafe code called from Dictionary.Remove