On 03/27/2011 11:36 AM, Martin Nordholts wrote: > 2011/3/27 Kevin Cozens<kevin@xxxxxxxxx>: >> LightningIsMyName wrote: >>> *** Optional topic: Re-Discussing GIMP's programming language *** >>> Some developers that weren't present in the last meeting, highly >>> disagree on the attempt to introduce vala into gimp, claiming that it >>> will scare off developers (more than the "simple" C GObject code). >> >> Before talking about which new programming language is needed(?) in GIMP we >> should make sure the problem is clearly defined as to *why* we need >> something new. What problem is the new language going to solve? >> >> IIRC, it had something to do with creation of GUI stuff (such as dialog >> boxes?). If that is the case, the language should be irrelavant. There are >> other tools that can be used to more easily make a GUI. One that comes to >> mind is a tool like Glade that can generate a file that can be used with >> with a library (GtkBuilder?) to show the contents of the file. >> >> I may be completely off base here because I haven't heard a clear definition >> of the problem. As I already mentioned before. I am very much against the introduction of another language into the GIMP core. > The problem with using C for everything is that we have to spend time > on managing boilerplate GObject C code, like manually initialize > vtables for example. We could spend this time doing things that > benefits our users instead. So when you write code, how much time do you spend writing the boilerplate? 10%? I would say it's much much less, because writing the code is a small fraction of the time actually spent on the code, the rest is debugging, refactoring, reading and reading it over and over again. The percentage of writing the actual boilerplate rapidly drops to a few percent. And what are "things that benefit our users" we could do instead? Thats a complete non-statement. Programming a complex thing like GIMP is hard, no matter how supposedly "easy" you make the programming language. The "problem" is not the programming language, or GObject, it's simply the complexity of GIMP's object system, and that complexity is unfortunately unavoidable, and is not going to decrease by adding another layer to it. And programming in general is *hard* to do right, and whoever is not capable of doing it should rather stay away from it. Yes, there is an entry barrier due to GObject, but as our experience with the last few years of GSoC, and various new contributors has shown, that was never the problem. They all end up writing more-or-less proper GObject code. The problem in their code is simply the lack of understanding for GIMP's object system, and that lack is *completely*normal* and natural given how complex GIMP is. They all get better if they stick with the project, which is also completely normal. I often hear how well the GIMP source is structured, and people point others to GIMP as an example of properly done code. That's a reputation which is not going to improve by adding another fringe language. As to the actual iussue of introducing whatever *additional* language in GIMP, I strongly doubt that it would help us in any way. It would increase the complexity of both building and programming because there would be two languages to learn, it would complicate the build system (new contributors would also have to learn to deal with autofoo makefiles dealing with both C and vala code). It would increase the barrier of getting new contributors into the project, not lower it. > When I get time, I will port GimpTag to Vala so we can see how the > introduction of Vala affects our codebase, autotools etc. If we bump > into a lot of problems, we can drop the idea of using Vala in GIMP, > but if it turns out we can become more productive by using Vala, we > should start using Vala more. Yes we should get more productive, but adding a new language should acheive that? We should rather work on our public interface, which is the web page, the wiki, the devel web page. All that stuff is not really active. If we have a hard time finding people who are willing to do this (and a lot of people are capable of doing web stuff), how is increasing the complexity of the GIMP core going to help us in any way? Introducing development tools like automated tests, or the build system you set up (did I say thanks for that already?) does indeed help a lot. Adding another language to the core in an attack of activism doesn't. ciao, --Mitch _______________________________________________ Gimp-developer mailing list Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer