Strings are nicer. They are easier to type and less
headache for GtkObject
authors to maintain. They don't clutter the C
namespace. Typing a string incorrectly will trigger a
runtime error so macros don't improve error checking.
Finally, strings are internally converted to a numeric
ID so there is no loss in efficiency.
Consider the maintenance headache of using enumerations
instead: both enumeration values and their names would
have to be unique across GTK+, Gnome, and third-party
extensions. A nightmare.