On 11 Mar 2009, at 08:26, Yavor Doganov wrote:

Glib/GTK+ have a stable API/ABI throughout the whole lifetime of the
GNOME 2 platform

It is very easy to have a stable ABI for a procedural API because there is no notion of subclassing. Even with GObject this is not really a problem, as it doesn't really present an OO model.

The GNUstep ABI changes are USUALLY only a problem when an application has subclasses of that class that changed. Some classes are subclassed more often than others. A change to the ivar layout of NSObject would break everything, but this never happens (NSObject has no ivars, and never will). A change to something like NSView would break a lot of things, but there are still a lot of applications with no custom NSView subclasses.

Of course, API/ABI stability is a big promise, and personally I don't
think it's worth the trouble for GNUstep at this point. It would be good
enough to break the ABI *only* when necessary.


I'd agree with this. At the very least, I'd hope that people would post a mail to gnustep-dev BEFORE breaking the ABI and not commit until there had been some discussion of whether it really is a problem. Committing to trunk and reverting if enough people complain is not really a good approach.

David


_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to