<jdub> kfish: have you seen clutter?
<kfish> jdub, no, whatsit?
<jdub> kfish: http://o-hand.com/blog/?p=10
<kfish> jdub, looks interesting :)
<jdub> it's way cool
<jdub> scenegraphy canvas with gl, gst, cairo... yum!
<kfish> man, i can't believe they're writing it in C
<kfish> no wonder it's taking a year and still has bugs ;-)
<jdub> they don't work on it much
<jdub> one intended use case is embedded devices
<jdub> building the basic api in C makes sense
<kfish> not at all
<kfish> :)
<jdub> in the context in which it was built, it does
<jdub> random theoretical arguments aren't very interesting
<jdub> we write libraries in C because they can be exposed to other languages more easily than anything else
<jdub> so does apple
<jdub> if you want a big-kids example
<kfish> dude, you're preaching to someone who used to preach that argument
<kfish> i know where C belongs, and it's in most of the stack
<jmworx> jdub: As much as C makes sense for low-level APIs (e.g. Speex), it sucks for higher-level stuff -- including GUI stuff like Gnome.
<jdub> jmworx: gobject + wrapping - that's the whole point
<jmworx> jdub: in practice, wrappers are always lagging, poorly documented, so eventhough you could use them theoretically, few people do. Just look at the C++ bindings for Gnome as an example.
<jdub> they rock really hard
<jdub> and are on the same release cycle
<jdub> and have been massively adopted outside the floss community
<jdub> cocoa is a wrapper for carbon, but you don't hear apple or their developers talk about it in that way :)
<jmworx> jdub: Have you ever used the gnome C++ bindings. I tried and gave up because of lack of doc (really hard despite that I knew the C version) and lack of support.
<jdub> i imagine that was the case a while back
<jdub> it's not true now, however
<jmworx> The worst was gnomecanvasmm. There was nobody (including the gtkmm maintainer) who could tell me why automatic item destruction didn't work and whether it was a bug or a feature.
<jdub> gnomecanvas is a dark hole whatever you're coding in, unfortunately
<jmworx> jdub: What I'm talking about is ~2 months ago. I co-authored a gnome1 application a while ago (in C only because the C++ bindings weren't ready).
<jmworx> It eventually got converted to gnome2, becoming more and more ugly, so we decided to re-write the GUI layer (a small fraction of the app) to something in C++ (like the rest of the app).
<jmworx> Choice was between gnome/libglade and Qt. I had to fight really hard to do basic things in Gnome/libglade (though the API *is* nice, doc is bad/nonexistant). When it came to the canvas (which is the central part of our app), I had to give up.
<jmworx> So we're going to rewrite with Qt4 (which the other co-author got to work rather easily).