James McDonald wrote:
>>> Yes, in an ideal world there would be a stable API for everything,
>>> and new versions would not be a big problem.  Pigs will fly first.
>> 
>> In the interests of equal time, "the rules" allow breaking
>> compatibility between major revisions, and the jump from 1.x to 2.x
>> certainly qualifies as a major revision. It would be nice if greater
>> effort were expeneded to ensure backward API compatibility.
> 
> I noticed that in some of the backwardly compatible API's developers
> are saddled with the good and the bad from a previous implementation
> and the extra effort to maintain compatibility.
> 
> Doesn't the re-implementation of certain API's help to create what
> could be a great leap forward when the newer version comes out
> 
> I'm not a developer but isn't gtk2 far superior to gtk1.x?

Backward compatibility is fine, as long as it doesn't limit you.  How long
did Windows really have DOS as its base because of backward compatibility
and how long did that hold back *real* PC advances?  [How many of you fought
the "extended memory" wars to get around 640K?]

One working method of advancing while maintaining the API backward
compatibility is to "deprecate" functions -- to mark them as no longer the
approved method, and flag them as a warning in the compiler, but continue to
honor them.  You provide the "new" function with a different name, and you
write the API the way you now think it should be, but you don't remove the
old one.  The documentation should also include a link between deprecated
functions and the new functions that should replace them.  See the Java
development model for examples of this.


Tom  :-})

Thomas A. Condon

Plain Text Emails Don't Spread Virii!
_______________________________________________
Linux-users mailing list
[EMAIL PROTECTED]
Unsubscribe/Suspend/Etc -> http://www.linux-sxs.org/mailman/listinfo/linux-users

Reply via email to