Ryan Pavlik <rpav / nwlink.com> writes:

> On Fri, 14 Mar 2003 13:00:07 +0900
> "Jason M Jurkowski ;002;icsg6;" <jmj8237 / cs.rit.edu> wrote:
> 
> <snip>
> > exactly.  i believe  eiffel makes a big deal about them as part of "design
> > by contract"
> 
> I believe "design by contract" is flawed, but that's another
> discussion entirely.
What are the flaws, in fact I would argue the should be used
exclusivly and have some major advantages.
- documentation
- separting normal control flow from "Exceptions"

Using Exceptions for all kine of errors which can happen definitly
flawed.

> 
> <snip>
> > sometimes assertions don't check adherence to an interface.  sometimes you
> > like to add assertions to help you determine where a program went wrong.
> > you find which part of your understanding "broke first."
> 
> Exceptions do even more for you.  Assertions are nothing more than
> convenient print/exit statements.  Exceptions by default do the same,
> with the addition of backtrace information (which is usually useful in
> determining the erroneous path).  This is nice for debugging.
Well and that is exactly what DBC does in Eiffel. The h... I have even
read in an ACM journal lately about such thing, they found of course a
more gorgeous name for it...

Regards
Friedrich