[Gtk-sharp-list] Interface Name Patch

Mike Kestner mkestner@ximian.com
Wed, 26 May 2004 14:04:02 -0500


On Tue, 2004-05-25 at 22:12, Samuel Kaufman wrote:
> This patch will make the naming of interfaces consistent within Gtk#,
> following the core class library's naming scheme.  (ITheName)

Here's a long answer to a small suggestion.  ;-)

My position on this from the beginning has been that the benefits from
this change in nomenclature are outweighed by the costs. There's a lot
more involved than a single-line diff to a generator source file. 

In particular, making such a change at this point would break every
TreeView-using app out there already.  Small easily fixed breakage, but
for little to no benefit.

Also, the impact on the documentation would be extensive.  The effort to
resolve all the newly "deprecated" methods/classes/interfaces/etc.. and
transfer any existing docs over to the new nomenclature is just wasted
effort from my perspective.

To a certain extent, deemphasizing the "interface-ness" of GInterfaces
is a good thing too.  You can't currently implement a GInterface for a
new type derived in managed code.  Ask Vlad about how much fun this is. 
He's going to considerable trouble to make it possible to create new
Gtk.TreeModels without putting a " : TreeModel " on your class
declaration.

Finally, there are a lot of resources out there associated with the C
API.  There's the C API docs on d.g.o.  Gnome CVS is full of samples
written to the C API.  gtk-app-devel-list and #gtk+ are stocked with
people skilled in the use of the C API.  Every time we diverge, even
slightly, from the C api, we make it more difficult to use those
resources.

All these things combined, along with a quickly approaching API freeze
lead me to decline making this change.  Even if I had thought to do it
back when we first implemented interfaces, it probably still wouldn't
have been worth doing.  At this late stage, it just seems too gratuitous
of a change to be worth all the additional effort to make it happen.

-- 
Mike Kestner <mkestner@ximian.com>