@yaelwrites it would be cool if there were any such low level languages available. Rust certainly makes claims that are at least partially true, but I find the lack of a clear definition of what they actually mean by memory safety to stand out as a red light.

@smari @yaelwrites It never appeared like that to me - the Rust approach is that as long as the code is not `unsafe`, Rust statically guarantees:
- No data races (Send/Sync)
- No use after free
- No unsafe pointers of any kind

basically https://en.wikipedia.org/wiki/Rust_(programming_language)#Memory_safety

Rust (programming language) - Wikipedia

@monad_cat @yaelwrites Yeah. I read through chunks of the Rust compiler some years ago looking for where those guarantees are made explicit. Seems that most of that is just assumed to be true as an implication of the syntax and no-reuse semantics. Which is probably true. But I haven't seen the proof.

@monad_cat @yaelwrites to be clear, I'm not hating on Rust. I'm just being (perhaps excessively) formalistic because it's such a big claim.

That said, I don't really enjoy using it - because the enforcement of these safety measures isn't done by the compiler, but by the programmer by being forced to jump through inane semantic hurdles. 😅

@smari @yaelwrites My experience is that with enough suffering put into the language, subconscious takes over and semantic noise largely disappears. Until you find a compiler bug or a yet unimplemented feature because you're trying to express more complex dependencies in the type system. Good thing is those are getting rarer with time.
@monad_cat @yaelwrites I don't subscribe to the notion that suffering is inherently an acceptable sacrifice in the name of progress. I've been beta-testing the #Jai language for a few years now. It doesn't advertise itself as safe the way Rust does and it isn't, inherently, but it's got powerful metaprogramming which can provide that safety if desired. And it's a delightfully painless language to work in.
@smari @monad_cat I guess I’m more interested in, e.g., preventing the next Pegasus than whether people enjoy Rust/Go/whatever. I’m sure some people enjoy coding in memory safe languages.

@yaelwrites @smari @monad_cat

I do, to the point that coding python feels wrong, or like cheating. I'm not exactly doing it for a living, but I do genuinely enjoy coding in rust.

@smari @monad_cat @yaelwrites my (limited) experience is that every time rust has been annoying, the thing i wanted to do would have been a subtle bug in c{,++}. so i'm left with the impression that the programmer is supposed to jump through those hurdles in these languages anyway, just no one's checking if you actually are

but this is also why i'm writing a game in lua now

@eevee @smari @monad_cat i mean I just play with Go for fun myself
@smari @yaelwrites That question got solved/answered with some EU funding through RustBelt: https://plv.mpi-sws.org/rustbelt/
RustBelt

@smari I think just avoiding C/C++ will get you there