"Walter Bright" <[email protected]> wrote in message
news:[email protected]...
> AJ wrote:
>> You lose the ability to use, say a class declaration, as the
>> specification (at least without a sophisitcated,
>> code-folding/code-formatting IDE).
>
> Just change "class" to "interface" and you're good to go.
Seems "apples and oranges" to me. "class declaration" can have data members
while "interface" can't. I mean, "my concept of it". I don't know what
definitions D has of those things. In C++, I use interfaces where
appropriate (say, where usage outside of a given library/subsystem is
anticipated/desired), but for most purposes (say, within a given
library/subsystem), I want a full class declaration (with data members etc).
When I think "interface", I think "pure abstract base class" and is
something strictly behavioral. When thinking "class" or "struct", I think
first of the data members, something more nominal ("noun-ish").