Monday, May 09, 2005

Random Gnome & Mono thoughts

There has recently been some talk about improving the developer environment for Gnome, which has lead me to the following.

Gnome is an absolutly terrible environment for people developing Information Systems (IS) and even desktop apps. The reason for this is the largely Gtk's fault. Gtk has been designed for creating a great desktop. And Gnome has acomplished this. Gnome is in my opinion the single best Desktop Environment available (It does however have some flaws due to linux itself). Many developer features that IS developers would expect are therefore missing.

This is where Mono comes in. Mono creates a fantastic developer environment for Gnome and linux in general. Mono provides a modern programming language in C#, great API docs in the form of Monodoc and the web version of Monodoc at http://www.go-mono.com/docs , Monkeyguide provides good tutorials (Although these need quite a bit of attention), and work is progressing at providing a good RAD IDE in the form of Monodevelop and Stetic.

Mono does suffer from one major problem, which originates with Gtk itself. Gtk# is still very C based, although work is being done to get it .Net'ified, which leads to very odd and unintuitive ways of doing certain things. Gtk# is also missing Databinding, which is crucial to most IS developers, as well as a Datagrid (Allthough at the moment it wouldn't be helpfull until Databinding is done).

But these flaws are happily temporary. Gtk# is being actively developed and should have less and less C'isms as it progesses (It has improved dramatically over the last two years!) and Databinding is on the radar.

So to sum it up, Gnome proper has provided a less than great developer environment, but the Mono project picks up the slack and then sum