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 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

Reply via email to