Re: [java-gnome-hackers] a possible merge strategy
Brought to you by:
afcowie
From: Colin W. <wa...@ve...> - 2008-10-16 16:12:39
|
On Wed, Oct 15, 2008 at 10:04 AM, Stefan Prelle <st...@pr...> wrote: > You have a point when saying that providing an API by means of > auto-generation is faster than hand-writing them. It's not just that it's faster - there are other arguments as well. For example, if one isn't an expert in the library domain, one could easily break the library. To pick a recent example, trying to change some of the GTK+ double arguments to integers. Even if one was an expert in all areas of GTK+ (and GTK+ is *enormous*) - how much would such a binding author in general know about web browsers (WebKit), or universal plug and play (GUPNP) or OpenGL/canvas (Clutter) or multimedia (GStreamer)? Personally I don't - but I'm trying to learn Clutter right now, and using Eclipse+Java is a nice way to do that. There's no way I would feel qualified to try to rewrite all the documentation and re-type all of the APIs. Even if I considered that a useful way to spend my time, which I definitely don't. > But just generating > the code is not really helping. You need (as you already stated) review > the code. Depending on what your goals are, there can be a lot to be > done. Depends on a few variables - for old code like GTK+ with some very complex APIs, yes, some overrides are going to help a lot. On the other hand for smaller and newer libraries like say libnotify or GUPNP, the existing API is going to be fine. The GObject introspection work is going to make this even better going forward, because we will have a --fail-unbindable option to g-ir-scanner, so if a C library author adds an unbindable or "weird" function while they're working, their build fails *right then* while they're developing, rather than binding authors having to figure it out 6 months to a year (or longer) later. > This is of course unless the goal is to look more familiar to C > developers than to Java developers. But personally I don't see the > point to tailor Java bindings for C developers Just as an example, I think using something like JamVM+JGIR would have been a good way to implement the new GDM. Now of course the new GDM is long since rewritten, but java-gnome's coverage of not even close to all the necessary parts of GTK+, not to mention the non-coverage of GConf would have completely ruled it out. Personally, my sense is that a lot of the "Java people" are using Windows or OS X if they even ever tried our platform, and as I said before, who I think we need to concentrate on is providing a nice environment for community developers who do know GTK+, but might not know Java, looking for a nice IDE (Eclipse) with a working debugger and a wide collection of usable libraries. Or at least, that describes me and a number of people I know. |