Hi, I had in mind to reply this but then I forgot.
On Thu, Oct 13, 2011 at 02:27:39PM +0200, Felix Riemann wrote: > > > > So what to do if patching a C program is too hard? > > Port it to an easier language of course! > > Uh oh... Indeed, uh oh :) > > > My language of choice was vala and my estimated time for the port was a > > week. Once again I underestimated the effort necessary. But anyway I > > finally have something to show! The vala port runs and most of the > > classes are ported. > > Wow! Uh... > > Okay, this is the part where we get a problem. While Vala might be your > language of choice it's not mine(@Claudio:ours?) yet. So it is going to > be hard for me to review your work and improve on it after merging. Indeed, I am not a fan of Vala at all, but that's not very relevant to the discussion. What I don't think is a good idea at all, is to start rewriting software without first discussing it with the people behind it, because even when the intention is probably good, the direction might not be the best. > > And currently I'm actually already having problems building your branch, > probably because my Vala/Glib/Gtk toolchain is newer. > > > Next step for me is to figure out how to go forward with the vala port. > > How are you thinking about such an effort? Will it add value to the eog > > application or will it be a hindrance due to the inevitable regressions? > > Of course I could have released early on in my development, but I was > > not sure if I would ever finish the port so I didn't want to add noise > > to the mailing list with something that might fail. > > Contacting the maintainers early on is a good idea for large changes > like yours. Imagine someone else had the same idea as you. Nobody would > be angry if you wouldn't succeeded then, someone else could still pick > it up where you left it and finish it. And I doubt that your mails would > have counted as noise on eog's mailing list. ;) > > Okay, back to Vala. Although I wrote above that I am not into Vala yet, > I had the idea that several classes of eog could in fact be converted to > Vala (there's a few utility classes and some smaller GUI classes) to > make them a bit easier to work with. Even if we won't move to Vala > completely we might be able to take some of your work. > So, there are a few questions I have about this: > > Is it really necessary to port eog completely to be able to use Vala > with it? From what I know at least eog's public API should be already > available to Vala through GObject-Introspection. This is my take on this. Right now, or at any point in time, the last thing eog needs is to be rewritten to another language because it seems to be simpler. I've seen such energetic efforts before in the past and usually they are motivated by inexperience. It is probably because of that inexperience that rewritting a 10-years old project from scratch might seem simpler than to learn partially its codebase and submit a patch. This can only lead to frustration once you realize it's not that simple. But with this, I don't mean to say that eog is all fine and there's nothing major to do. I think it is fair to say that eog has aged well within the desktop, but once again, it's starting to feel a bit retro. GNOME probably needs an image viewer that's more modern and that provides a user experience closer to the shell's. We should probably start talking with the GNOME designers and try to find how such an image viewer would look and feel and lead our efforts in such direction. Only *then*, it might make sense to rewrite big parts of the code and, considering that such effort is likely to be focused in the UI side, it would be fair to say that a higher level language would make prototyping and final development quicker. Vala or JS, for instance, would serve this purpose well. But rewriting anything before thinking exactly what's that the GNOME image viewer should be, would probably be a waste of effort. > I'm asking because I'm not sure if it is a good idea for some > classes to be ported. Mostly because of their age and complexity > (EogWindow and EogImage come to my mind). How do you debug > Vala-generated classe? I guess you'll debug the generated C code, > which is not that readable. How is the connectivity to external > libraries (libexif, exempi,...)? Does every library need to be made > Vala-compatible? If yes, this wouldn't be so great. EogImage, the data readers, the job queue, and other internal parts of eog should probably stay as they are. Felix is right in their complexity. Having an eog-core written in C and doing the UI with a higher-level language (a la shell), would probably make sense. Claudio _______________________________________________ eog-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/eog-list
