From: Dave Thomas Date: 2000-03-31T15:22:29-06:00 Subject: [ruby-talk:02314] Re: DBC schneik@us.ibm.com writes: > Is this a (greatly amplified) derivative of what Edsger Wybe Dijkstra > (sic: natural pun) was promoting ages ago in his 1976 book, "A > Discipline of Programming"? IIRC, it dealt with pre/post-conditions > and invariants, albeit not in an OO context. Dijkstra's emphasis was on proving the correctness of algorithms, and deriving algorithms given the algebra that described them. In that way, DBC is a step-child of his work. DBC adds concepts because of the object orientation--in particular the powerful idea of a class invariant. At the same time, DBC strikes me as less formal--you aren't trying to derive a mathematical proof of your code as much as describe its operation in terms of an object's state. I'm not a theoretician (I couldn't even spell theoretician), but I guess I'd characterize the Dijkstra/Hoare stuff as internal correctness, and DBC as external correctness. Regards Dave