On Thu, May 26, 2016 at 1:59 AM, Eric Rescorla <e...@rtfm.com> wrote:
>>
>>> Under "Ways to prevent" you suggest
>>> "Ways to prevent (by making them impossible)" and rewriting in JS or Rust,
>>> using smart pointers, etc.
>>>
>>> This may prevent crashes in the narrow sense that it prevents SEGVs, etc.
>>> but it does not make runtime errors that lead to program shutdown
>>> impossible. To take an example, even if a C++ program only uses smart
>>> pointers, it is still possible to have null pointer dereferences, which
>>> then cause program shutdown. Runtime errors are also unrecoverable runtime
>>> errors are also possible JS/Rust. I don't disagree that safer languages
>>> eliminate a large class of crashes, but they don't make them impossible.

I tweaked the wording to make it clearer that no individual prevention
technique will prevent all crashes.

>> I did not read that as making *all* defects impossible, rather that it was
>> talking about preventing defects, and one such approach is to use a
>> mechanism (Rust, smart pointers) that makes certain types of defects
>> impossible.
>
> It's not a matter of defects versus non-defects. It's a matter of abnormal
> program
> termination versus non-termination.

You lost me there. Can you clarify how program termination is related
to defect prevention?

Nick
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to