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
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev