[#1816] Ruby 1.5.3 under Tru64 (Alpha)? — Clemens Hintze <clemens.hintze@...>

Hi all,

17 messages 2000/03/14

[#1989] English Ruby/Gtk Tutorial? — schneik@...

18 messages 2000/03/17

[#2241] setter() for local variables — ts <decoux@...>

18 messages 2000/03/29

[ruby-talk:02314] Re: DBC

From: Dave Thomas <Dave@...>
Date: 2000-03-31 21:22:29 UTC
List: ruby-talk #2314
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

In This Thread