Steven Schveighoffer wrote: > On Tue, 15 Mar 2011 15:28:09 -0400, Jens <[email protected]> wrote: > >> Steven Schveighoffer wrote: >>> On Tue, 15 Mar 2011 14:54:13 -0400, Jens <[email protected]> wrote: >>> >>>> I didn't ask how to do composition in D. I asked why composition >>>> cannot be done via derivation, i.e., the reasoning behind the >>>> language design choice. A design faux paus IMO. >>> >>> Because composition by inheritance can be *completely* implemented >>> using alias this -- a feature that also provides other niceties. Why >>> provide another mechanism to do the exact same thing, just >>> because you are used to it? >> >> 1. I'm not convinced the other functionality is necessary. >> 2. I eschew ugly syntax. > > Beauty is subjective, so I guess I can say at this point, go write > your own language that is beautiful in your mind. Good luck. >
I am. Thanks. >> >>> >>> Note that "inheritance" is actually done exactly this way in C++, by >>> putting the derived type at the front of the "derived" type, and >>> aliasing all the methods/fields into the derived namespace. >>> >>> Show me what composition by derivation provides that alias this does >>> not. >> >> Nice syntax. > > So in other words, you want an aqua-blue bikeshed, when D's is just > blue. > This will be my last reply to this thread... > Aww, little boy didn't get his way and is going home to cry to mommy.
