Courts are going to care that a program failed specifically due to an
erroneous return value from main(), and not any of the other million
ways a program can fail?
Well, as always, thank you for making my point for me, though
I had to "trick" you into it by posting a simple fact in plain
sight...
Yes, a court is going to be very rigorous in assigning BLAME
for a wrongful death (or in the current high-profile Conrad
Murray case, involuntary manslaughter due to criminal negligence).
In all the goofy attempts to "prove" that an incorrect
main() return value can kill people, the goofballs have
relied on somebody NEGLIGENTLY grabbing some little
piece of software bascially at random and sticking it
willy-nilly into a script and/or system, then expressing
mock amazement when it doesn't do what it was never warranted
to do, and hundreds/thousands/millions/billions of
imaginary people died as a result. (My goofball example
was that NORAD uses a "Hello World" program to determine
whether to launch nuclear missiles; hey, "Hello World"
printed successfully, but the program returns EXIT_FAILURE,
LAUNCH!!!)
Obviously, the people at fault would be the goofballs
who just grabbed some piece of software and ASSUMED it
would work a certain way. On the other hand, if there
were WELL-DEFINED requirements for the operation of
the software that were not met by a sub-contractor,
the sub would be at least partially to blame (there
might be a whole bunch of legal haggling over what
responsibility the prime contractor had for acceptance
testing, but in the fracas you better believe every
single line of offending code and the respective
contracts would be hashed over).
And all of that is exactly what I said is missing,
WELL-DEFINED requirements that the value be set one
way or the other for the great range of programs that
may be written in "C", making EXPECTATIONS and
thus RESPONSIBILITY for any particular value under
any particular condition moot. Now when I TELL
you that I would/have only set EXIT_FAILURE for the great
majority of programs I have written for some type
of uncorrectable memory allocation or similar error,
you are WASTING MY TIME, YOUR PRESUMABLY WORTHLESS
LIFE, AND POSSIBLY THE LIFE OF SOME INNOCENT
PERSON WHO IS THE VICTIM OF YOUR INSANE ASSUMPTIONS
CONTRARY TO MY WELL-DEFINED ASSERTIONS if you try to argue
with me about my choice, or write some stupid unauthorized
script using my program.
Since you put such stock in this information being public, please be so
kind as to supply a few examples.
Anybody who has been following the Conrad Murray trial
is now an expert on EVERY aspect of various anesthetic
and sedative drugs, so why would you make me go out and
gather for you the evidence presented in numerous
lawsuits involving software (some of which I am personally
aware of)? Suffice it to say, all of that kind of
stuff is boring and tedious to the max...
What are you saying, you reject the findings of the
defense expert regarding the levels of unmetabolized
propofol in Michael Jackson's urine at autopsy as being
inconsistent with the prosecution theory of a infusion
drip over several hours based on the nuclear residue
testing in a 1988 study of volunteers receiving a
sedative level dosage of propofol? I will admit
on re-direct the prosecution expert kind of demolished
his testimony...
But yeah, you're right, they never get into trivial
little technical details in courts...