Which language to use for a groupware platform?
I have not yet had any experience developing desktop software, so I'm having some trouble guiding an Open Source groupware project in the direction of a particular language and toolkit which would suit the project. This project, a groupware platform called Mira (http://wolphination.com/linux/category/software/mira/), will be designed to be an integrated desktop collaboration solution. To get a better idea of how Mira will work (or the plans we currently have for it), please read the introductory post (http://wolphination.com/linux/2007/02/13/proposing-an-open-source-groove-alternative/) and other posts (http://wolphination.com/linux/category/software/mira/) about it.
We're currently considering the following options:
C++ with wxWidgets (http://www.wxwidgets.org/)
Python with wxPython (http://wxpython.org/)
C#/Mono (http://www.mono-project.com/Main_Page)
Java
I was originally going to go for one of the bottom three combinations, because they allow for the most rapid development and are cross-platform, so require very little extra work (if any) to use on different Operating Systems or architectures. However, I recognise that there's a shortage of programming who specialise in these languages and toolkits, so I'm now considering the first option. One of the questions I'd like to ask is how cross-platform is C++ with wxWidgets? If this groupware platform's client application were developed using this combination, how much extra work would be required to develop it for Linux, Windows and OS X simultaneously? That, I believe, is the key factor: ease and speed of development.
Using a high-level language such as Java or C# would shorten development times because of the nature of these languages and because of some useful extras, such as garbage collection. Using the platform on alternative OSs would be, in both C#'s and Java's cases, a non-issue: as long as there were a JVM or Mono for that OS, the application would run (as far as I am aware).
However, there is probably a greater number of good C++ developers out there, so it might be beneficial to choose C++ (as long as there would not be too much of a problem with cross-compatibility). The advantages of using wxWidgets/wxPython and Mono is that the OS' or environment's own window borders and such may be drawn instead of having to implement a custom interface which would not allow the application to blend in with a user's desktop (can the same be done with Java?).
In summary, my question is: which programming language and toolkit should I put forward to develop this platform in? Which combination is the most complete in terms of providing the backends required for this platform's features, and would allow the developers to work most efficiently? Open Source IDE suggestions for that language/toolkit would be appreciated as well :)
Thanks in advance.

