On 1/28/11 10:14 AM, Roman Ivanov wrote:
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article
On 1/27/11 8:02 PM, Walter Bright wrote:
I think one of the reasons DbC has not paid off is it still requires a
significant investment of effort by the programmer. It's too easy to not
bother.
One issue with DbC is that its only significant advantage is its
interplay with inheritance. Otherwise, scope() in conjunction with
assert works with less syntactic overhead. So DbC tends to shine with
large and deep hierarchies... but large and deep hierarchies are not
that a la mode anymore.

DbC opens many interesting possibilities if it's supported by tools other than
just the compiler. MS has included it in .NET 4.0:

http://research.microsoft.com/en-us/projects/contracts/

Hm, I'm seeing in section 3 of userdoc.pdf that they don't care for precondition weakening:

"While we could allow a weaker precondition, we have found that the complications of doing so outweigh the benefits. We just haven’t seen any compelling examples where weakening the precondition is useful. So we do not allow adding any preconditions at all in a subtype."

They do, however, allow strenghtening postconditions.

Overall the project looks very interesting and has quite recognizable names from the PL community. Hopefully it will increase awareness of contract programming.


Andrei

Reply via email to