GTK+ (Gimp Tool Kit) is written in C. It is built upon glib and GDK. GTK does not call any windowing system directly, instead it calls the GDK wrappers. Because of this, GTK+ has been ported to Linux, most flavors of UNIX, BeOS, Win32, and the Linux DirectFB.
GTK+ has a number of progamming language bindings. In addition to C, GTK+ can be called from Ada, C++, Perl, Python, Eiffel, Guile, Haskell, JavasSript, Objective-C, Objective-Caml, Objective-Label, Pascal, and TOM.
GTK+ is essentially an object oriented API. Even though C does not support classes, GTK+ has an entire object system. The object system supports inheritance, type checking, and callbacks. GTK+ has a dynamic type system, and a Widget hierarchy.
GTK+ is the toolkit used in the construction of GNOME.