lol whom else?
by now he even agreed to this lol.
Best!
Giovanni
I agree that trolls are problematic in a discussion. They ignore
evidence, even if it comes from the same authorities they themselves
profess to respect. They issue personal attacks against those who
disagree with them, resorting to epithets like "notorious", in lieu of
responding to the actual points. They ignore the logic of the
opposing viewpoint, resorting instead to character assassination
attempts. They use disparagement and doublespeak instead of logic and
evidence. They completely ignore points made that disagree with those
they proffer, attaching labels to their own reasoning like "Design by
Contract" even when the labels refer to concepts that contradict their
own points. When authoritative evidence is provided that the labels
do not apply to their own points, they merely reiterate the label, not
explaining how the contrary evidence might fail to apply to their
statements. Then they repeat the cycle of attempted ridicule and
character defamation in lieu of discussion of the logic of the
argument. Often they will employ the psychological technique of
projection, attribution of their own behaviors to those who disagree
with their conclusions.
In this discussion I and others have consistently provided evidence,
reasoning and logic, in agreement with other expert opinions, some
from those you yourself profess to hold as authoritative, that refute
some of your statements. It is in every piece of explanatory
literature that Design-by-Contract (DbC) involves establishment of
invariant, preconditions and postconditions in code with validation
logic to ensure that the contract is met. It is shown by
authoritative source and by reasoning through to consequences how
merely testing public methods internally cannot replace use of actual
runtime code to enforce such contracts. Likewise various respondents
in this thread have pointed out how the Java 'assert' construct cannot
substitute for if tests and possible exceptions to enforce contracts
of API methods. None of these respondents, myself included, have
attempted to disparage anyone's character or behavior in this
discussion, limiting our points to the facts.
The Usenet record makes it clear who has resorted to /ad hominem/
tactics, mere repetition of conclusions in lieu of supporting logic or
evidence, simple disagreement with sources authoritative even by their
own definition without evidence for such disagreement, and name
calling.
I agree with you that trolls are difficult to reason with, that DbC is
an important and effective development technique when properly
applied, that assertions should normally be disabled in production.
It is a matter of fact that in-development testing of public methods
without DbC enforcement clauses in their logic will not prevent bugs
in client code of those methods. It is a matter of fact that
assertions by themselves cannot enforce or guarantee correctness of
code. It is a matter of fact that experts at Sun and Eiffel have made
statements that agree with those conclusions. It is a matter of fact
that assertions play an important role in certain formal procedures of
code development and testing, including those proffered by Bertrand
Meyer.
It is a matter supported by evidence and logic in this discussion and
by referenced authorities that runtime checks involving constructs
other than 'assert', such as 'if' clauses and thrown exceptions, must
exist in production code in order to adhere to the principles of DbC.
It is a matter of fact that no argument other than simple disagreement
and /ad hominem/ attack has been offered in this thread to contradict
that conclusion.