Regarding Clutter being written in C, it's actually possible to do object-oriented design in C. Gtk+ is OO in C. It's a tiny bit more tedious than in C++, but it works. I'm working on a project now that would be much easier in C++ (and a language with functions as objects would be even easier than that), but it needs to run on an embedded system with limited CPU and memory bandwidth as quickly as possible, so C it is.
IIRC, another reason C++ was avoided in the earlier Linux days was that there wasn't an LGPL-compatible C++ standard library.
That system you're using for OO in C is the GObject system, right? You'll be pleased to know that Vala is an OO language that uses the GObject system to generate object-oriented C code. In Vala it is very easy to create a subclass of a class. If you compile it into C, you'll see the GObject code, which is very tedious to write manually.
Originally Posted by unix_epoch