Boo!
November 29, 2007 at 9:41 am | In GIMP, Programming |There seems to be no end to the .NET languages that can run on top of GIMP#. Yesterday I implemented my first plug-in in the Boo programming language. According to the homepage: “Boo is a new object oriented statically typed programming language for the Common Language Infrastructure with a python inspired syntax and a special focus on language and compiler extensibility.”The plug-in is the usual average color filter. I had some minor struggles linking the plug-in against GTK#. However you can use -pkg:gtk-sharp-2.0 as a command line option to the Boo compiler (booc), although this is not documented.
And the performance of the plug-in? Well, it’s exactly the same as the Nemerle and C# version. I suspect that the overhead of the actual calculation of the average color is minor compared to iterating through all the pixels of an image. I will try to verify this later. It still surprises me that the IronPython version is a lot slower. One thing I noticed is that this plug-in does ’something’ at startup that takes quite a lot of time. Once it starts calculating the progress bar shown in GIMP increases about as fast as in the other languages.
To summarize: on top of GIMP# I know have C#, Java (IKVM), Python (IronPython), Boo and Nemerle running. Next targets are IronRuby and Visual Basic. You can still vote for your favorite GIMP programming language here.
To be continued…
4 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
“IronPython version is a lot slower”
Which is not that surprising since compared to the other three languages you cited (Boo/C#/Nemerle), IronPython is the only one who is not statically typed
Boo being the only one with the possibility of mixing static typing and dynamic typing (through use of duck type or -ducky compiler parameter).
“However you can use -pkg:gtk-sharp-2.0 as a command line option to the Boo compiler (booc), although this is not documented.”
Thanks for the report, I will get it fixed by tonight
Comment by Cedric Vivier — November 29, 2007 #
“It still surprises me that the IronPython version is a lot slower.”
It is not that surprising considering IronPython is the only languages from the 3 you cited (Boo/C#/Nemerle) which is _not_ statically-typed.
Boo is the only language in this list which can have both static-typing or dynamic-typing (with the use of duck type or -ducky compiler parameter).
“you can use -pkg:gtk-sharp-2.0 as a command line option to the Boo compiler (booc), although this is not documented.”
It was documented on the man page (man booc) but not with “booc -help”, this is now fixed in SVN
Comment by Cedric Vivier — November 29, 2007 #
Thanks for the info. And very nice that the ‘problem’ is already fixed in SVN! I haven’t played that much with Boo yet, but it looks like a very nice language to me. Writing a GIMP# plug-in in Boo was very straightforward.
Comment by maurits — November 30, 2007 #
Boo is FAR more than your quote from its website…
After participating Rodriguez (…did I write that correct…?) presentation yesterday in Madrid I tend to think of it as “the meaning of life” for developers
.t
Comment by Thomas Hansen — December 1, 2007 #