This is why I love Go. Nobody was asking for this, but they took the time to do it right and continue to Push go as a memory safe, high-level systems language.
There is no memory safety without freedom from data races. One is a prerequisite of the other. This is why languages like C# throw exceptions on unsynchronized concurrent access to some container types, and treat all property accesses as atomic.
I am, but you’d be surprised. All of the single-threaded languages are fine, for example. Very few languages are actually low-level enough to allow data races. C# and Java go to great lengths to avoid it.
Race conditions in general are another matter, and aren’t generally considered a requirement (though you can certainly create nasty bugs).
u8 · · focus · HN ↗
__s · · focus · HN ↗
shikck200 · · focus · HN ↗
So whats your point here? Haskell?
simonask · · focus · HN ↗
shikck200 · · focus · HN ↗
simonask · · focus · HN ↗
Race conditions in general are another matter, and aren’t generally considered a requirement (though you can certainly create nasty bugs).
shikck200 · · focus · HN ↗
simonask · · focus · HN ↗