Michel Fortin wrote:
On 2009-09-26 10:06:24 -0400, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> said:
Michel Fortin wrote:
I think you're writing a lot of boilerplate code for something that
the compiler should be able to do by itself. I mean, it's a lot
cleaner with contracts, and there is no reason the compiler couldn't
generate itself that "contract-verifying" non-virtual function.
I think it would be a mistake to latch on my quick examples. It's not
only about before and after checks, it's more about low-level
customization points versus higher-level interfaces.
Then your examples should have shown this instead.
Herb's article has them!
I fully support having a way to specify a default implementation for a
function in an interface. It might get handy for a few things (like
implementing the delegate pattern you see everywhere in Cocoa). But it's
a bad replacement for contracts.
Walter has implemented contract inheritance, and we hope to be able to
have contracts on interfaces in too. The former is a nice expected
feature; the latter could convince DbC skeptics to start using it.
Andrei