2) c# basically is for microsoft and only works for microsoft platforms.
Man, I wish people would stop spouting this outdated nonsense. C# is an open standard, and as others have said, Mono/Xamarin have been around for ages now and they let you target all platforms. Not only that, but Microsoft have now fully open-sourced the next version of .Net and upon its full release within the next few months, it will be able to target multiple platforms including Windows, Mac and Linux.
C# all the things! Yay!