On Friday, 31 August 2018 at 19:50:20 UTC, Walter Bright wrote:
https://news.ycombinator.com/item?id=17880722
Typical comments:
"Stopping all executing may not be the correct 'safe state' for
an airplane though!"
Depends on the aircraft and how it is implemented. If you have a
plane that is fly by wire, and you stop all executing then even
the pilot no longer has control of the plane anymore, which would
be very bad.
"One faction believed you should never intentionally crash the
app"
"One place I worked had a team that was very adamant about not
really having much error checking. Not much of any qc process,
either. Wait for someone to complain about bad data and
respond. Honestly, this worked really well for small,
skunkworks type projects that needed to be nimble."
And on and on. It's unbelievable. The conventional wisdom in
software for how to deal with programming bugs simply does not
exist.
Depends on the software being developed, for a game? Stopping at
every assert would be madness. Let a lone having an over
ubundance of asserts. Can't even imagine how many asserts there
would be in for something like a matrix multiplication. An
operation that would otherwise be branchless having numerous
branches for all the index checks that would be done. Twice per
scalar value access. And so on and so on.
Here's the same topic on Reddit with the same awful ideas:
https://www.reddit.com/r/programming/comments/9bl72d/assertions_in_production_code/
No wonder that DVD players still hang when you insert a DVD
with a scratch on it, and I've had a lot of DVD and Bluray
players over the last 20 years. No wonder that malware is
everywhere.
TIL people still use DVD players all the while my desktops and
laptops from the last 7+ years have not even had an optical drive.