[coyotos-dev] IDL compatibility
Valerio Bellizzomi
devbox at selnet.org
Mon Jul 9 17:55:37 EDT 2007
On 09/07/2007, at 14.07, Charles Landau wrote:
>While we're on the subject of IDL, and now that MarkM is back, I'd
>like to reopen this discussion by posing some questions.
>
>1. Is it possible to have more than one name for the same method?
>
>It is desireable to have more than one name, for several reasons.
>a. You come up with better names. For example, you decide
>"CreateWidget" is preferable to "MakeWidget". You want to add the new
>name, but retain the old for compatibility.
>b. Users come up with better names. For example, a Francophone
>prefers to use ""CreerWidget".
>c. You rename something ("eros" to "capros", just to take a random
>example). You want to add the new name, but retain the old for
>compatibility.
>
>The answer may be, yes, you can always:
>#define secondaryName originalName
>
>but one would have to construct, by hand, such interface files for
>all the supported languages.
>
>2. If it's not possible, how can I solve the issues above?
>
>An answer that says "you have to get it right the first time and
>never change it" ignores the realities of software maintenance.
Doing the right thing the first time means less maintenance, less updates.
However thing evolve and changes are necessary. Probably the correct
answer is "design for maintainability".
val
>
>
>At 4:21 AM -0700 6/20/07, Charles Landau wrote:
>>I'm afraid I contributed to confusion by emphasizing renaming.
>>
>>Removing a name that is in use is clearly problematic. My situation
>>is exceptional because I can find and change all the uses of the
>>name. It's unreasonable to expect IDL to handle exceptional
>>situations.
>>
>>At 6:43 PM -0400 6/19/07, Jonathan S. Shapiro wrote:
>>>if you go to add a method to an existing interface,
>>>adding it in the middle of the file should not cause other code points
>>>to break.
>>
>>This implies that adding a name for a new method does not break the
>>IDL "contract".
>>
>>I see no reason why adding a *new* name for an *existing* method
>>should break the contract.
>>
>>>The name defines the *identity* of the type or the method.
>>
>>This implies that a method cannot have more than one name. This is a
>>misfeature. Having multiple names for the same thing is useful,
>>necessary, and perfectly manageable.
>
>_______________________________________________
>coyotos-dev mailing list
>coyotos-dev at smtp.coyotos.org
>http://www.coyotos.org/mailman/listinfo/coyotos-dev
More information about the coyotos-dev
mailing list