You've made a dangerous generalization, so I think you never used .NET or Mono.
First experiment with it to see if it fits well with your needs. You may find that the big brains MS hired produced a fine to good environment, and that we implemented a very good open-source cross-platform version of it.
From my experience with all those technologies/languages I can say that I certainly prefer C# with Mono over Java and C/C++. And with the Boo language, I also don't feel the need to use python or ruby as frequently as before.