I'd have to agree with Michael Dell. I've developed in C, C++, Java, and C#. The overall best experience is C# with Visual Studio in my opinion. When developing vanilla Java with Eclipse, I actually really liked it. It has a few things that really made developing in Java nice. Many things that I feel are way ahead of Visual Studio. However, once you want to start making GUIs and installing plugins, the experience goes downhill a little bit. You just have tinker and fight with it more. C is awesome for embedded stuff and basic stuff, but for modern user applications, it just won’t cut it. C++ is the most powerful of all, but many programmers all consider it the most complicated as well, so there is a trade-off. Qt does have my interest though.
When it comes to the overall experience, Microsoft's is just better. It is all packaged up in one nice tool set. All integrated. The only downside: it only works on Microsoft (mono excluded).
As to allowing other languages, I know in Windows Dev, you can do IronPython and stuff like that. It wouldn't surprise me if you see something like that available for Win Pho 7 as well.
I like open source and free. And as a college student, I'd definitely be all over it. But as an adult and professional developer, I don't like to deal with all that. I want to install my IDE and start solving the problem. Microsoft right now just does it better.