On Wed, May 25, 2016 at 8:53 AM, Steve Fink <sf...@mozilla.com> wrote:

> On 05/25/2016 06:09 AM, Eric Rescorla 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 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.

-Ekr


It is accurate to say that you are preventing some defects. (And I imagine
> that even with Rust, you are making other types of defects possible or just
> more likely. But in balance, rewriting C++ code in Rust is a valid way to
> prevent certain defects.)
>
>
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to