2 ms·
> this post is tackling other problems. I know we are off-topic, I was replying to your comment to clarify some misconceptions. No, memory-safe languages do n
by titzer 5y ago
> this post is tackling other problems.
I know we are off-topic, I was replying to your comment to clarify some misconceptions.
No, memory-safe languages do not let programs read the entire address space. Memory-safe languages include static (and dynamic) type safety measures so that a datum of type A cannot be treated as a datum of type B (if they are incompatible types). That means if different subroutines work on different types, they cannot read each others' data. That also implies that the heap has separable structure; your routine cannot get to my objects unless it has a type-safe access path to them. It cannot hunt through memory to find my crypto keys, e.g.
Therefore, security measures can be designed into programs that use the type system. The OP is an example of one.
> You're just saying what I just said back to me
Well, no.
> with the confusing assertion about memory safe languages being the basis for language VMs isolation. I'm clearly missing something.
Sorry if that confused you, it might have been cryptic. If you read what I've written in this comment it will be more clear now. Language VMs separate programs from each other because they can enforce a type system. Separate types in separate programs means they cannot interfere.
- staticassertion 5y agoGot it, yeah I think what you're saying now is a lot clearer to me, I definitely felt like I must have been totally missing something.