--- Anton van Straaten
wrote: > It sounds as though yvou may be claiming that good designs don't need > to run > into this issue, that it's always possible to fit a design into a > single-implementation-inheritance approach, without having to > duplicate any > implementations. I agree it's possible - I did that kind of thing > for many > years myself. However, the fact that it's possible to avoid this > issue > doesn't mean that avoiding it produces the best designs.
This is the heart of language design issues: not what the language makes 'possible', but what it makes straightforward. I've used delegation and 'HAS-A' for mixing in shared behaviour in Java.
In many cases it was absolutely the right thing to do. In others I was working around the language, not with the language.
p.s. There will always be things we wish to say in our programs that in all known languages can only be said poorly.