I've been looking at languages and VMs for doing GUI desktop app work. Specifically, cross-platform apps using native GUIs on each platform. Java (I normally use Clojure where I can) has decent cross-platform toolkits, but not so great native bindings. .NET obviously has good Windows GUI stuff, Mono's GTK# and Qyoto seem to work well for Gnome and KDE, and MonoMac seems to be going places. The main alternative seems to be to drop to low-level languages. (C, C++, Obj-C). Do you think it's worth it for me to go ahead with .NET and Mono considering the difficulties you've had with Mono?