Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

4
  • 2
    I still don't understand why anyone would inflict that kind of pain upon themselves. C++ isn't great, but it sucks infinitely less than GObject. :( Commented Apr 30, 2015 at 19:13
  • 2
    ...What made you think this was an answer? The question is why it was re-written in C, instead of C++ or some other natively OOP language. Just telling us that "it was re-written" is a total tautology. I guess we're meant to infer that it wasn't a total rewrite and/or the core team had preferences for C - for reasons supposed in better answers. Commented Feb 12, 2016 at 9:26
  • 2
    This is a good answer. The GIMP is a C project. GTK (and GTK+) was initially written to be a GUI toolkit for The GIMP, so C was a natural choice for a C project's library. GObject was extracted from GTK+, and retained the C heritage. It's still C because the entire heritage was C, and it was originally extracted from a C library for a C program. At no point in the history did another language make much sense for this purpose. If it was written initially from the ground up to be an object system, it might have been different, but its history wasn't that kind of project. Commented Jun 7, 2016 at 18:10
  • 1
    It's called GIMP, not The GIMP. The Gimp is a fictional character in a Quentin Tarantino movie. Commented May 9, 2020 at 22:36