This is something I have been debating for a while now. Should we focus on making applications that are the same code base and able to run on *nix, Mac and Win which may cause a loss in performance and limit out language possibilities. Or should we develop a code base for each system type allowing us to use the best language/libraries for that system and just keep a general feel and featureset. This last idea puts a lot more work on our end and is the reason why many go for a common code base, however I am thinking it may be the best bet for us as well as the community to get involved into the applications (I also hate coding C++ windows forms where C# is a lot easier and I can focus more on speed/features).
If we do it this way it will end up being:
Windows: C#
Max: OOC
Linux: C++ or D
The D language may be an options to keep a common code base. From looking through the schema for it I am really interested and may dive into coding it a bit to test it :P.