On Friday, 31 August 2018 at 19:50:20 UTC, Walter Bright wrote:
https://news.ycombinator.com/item?id=17880722
Typical comments:
"`assertAndContinue` crashes in dev and logs an error and keeps
going in prod. Each time we want to verify a runtime
assumption, we decide which type of assert to use. We prefer
`assertAndContinue` (and I push for it in code review),"
"Stopping all executing may not be the correct 'safe state' for
an airplane though!"
"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.
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.
You would probably enjoy this talk.
"Hayley Denbraver We Are 3000 Years Behind: Let's Talk About
Engineering Ethics"
https://www.youtube.com/watch?v=jUSJePqplDA
I think that until lawsuits and software refunds due to
malfunctions escalate to a critical level, the situation will
hardly change.
Some countries do have engineering certifications and
professional permits for software engineering, but its still a
minority.
--
Paulo