Contrary to any grousing you may have heard , GNOME is just as object-oriented as other modern GUI platforms. The primary difference between GNOME and its " competitors " is that the GNOME library source is in plain C, so you can also program it in C. Libraries such as GTK+ and GNOME rest on the GObject object system. By contrast, other systems rely on the object-oriented features of their programming languages, as in the case of KDE's C++ implementation.
This chapter is dry and dense; it covers several complex topics in a relatively small space. This chapter is the second in the book because it reflects aspects of the entire GNOME API. You don't need to fully comprehend this material to move on to the next chapters, especially because many of the techniques appear throughout the book. At the very least, learn how to create objects, manipulate properties, and install signal handlers (Sections 2.5, 2.5.1, and 2.6.5). You do not need to know how to create your own classes.
If you are already familiar with object-oriented programming and its terminology, you can skip the first section and go right to the implementation details in Section 2.2.