Eric Bezault wrote:
>
> STRING
> ^
> |
> UC_STRING*
> ^ ^
> / \
> UC_UTF8_STRING UC_UTF16_STRING ...
For those who are reading closely the various threads in this
mailing list, you might have noticed that on one side I argue
that inheritance should be banned, and here I suggest inheriting
from STRING. Isn't it contradictory? ;-)
Here is a small story: one of my previous project leaders was
always arguing the reverse of what I was suggesting. For
example if I said white he would say black, and we would
strongly argue on that during the day. Then after a night
of thought I would come back at work the next morning
convinced by his arguments of the day before. So I would
say that he was right and I said black. But then he would
change his position and argue that I was right and would
white. And we would argue again the whole day white
against black, except that we reversed our roles between
the two consecutive days. And this could last several days
like that. The moral of the story is not that my project
leader was convinced by one position or another, but he
would just play the role which would contradict my arguments,
whatever they were, just to force me to think very hard
about the pros and cons of both sides. He was the best
project leader I ever had.
So as the graph above shows, I'm not against inheritance,
I just played the role which would contradict as much as
possible Andreas' arguments, and pushing the game to
be as extremist as possible in this role. Unfortunately
Andreas didn't change his way of thinking and argue
against inheritance, so I was not given a chance to
play the other role and argue in favor of inheritance ;-(
Anyway, I hope that the discussion was necessary to
realize that XI_ATTRIBUTES was not exactly a table, and
not exactly a set, although it shares many functionalities.
BTW, Andreas played his role to the extreme as well, arguing
that everything is a container. I'm not saying that it is
not true, just that it is an extreme point of view, in the
same way that it was extreme to say that inheritance
should be avoided just because transitions are not as
smooth as with client/supplier and the obsolete clause.
--
Eric Bezault
mailto:ericb@...
http://www.gobosoft.com
|