C# (and the .NET platform in general) is looking like it's becoming a good option form multi-targeting applications:
official Microsoft .NET framework: full-blow Windows development, ASP.NET development, Windows Phone development, etc.
Mono and all its derivatives: MonoTouch, MonoDroid: the rest of the world. These tools are today RTM.
Does it mean that C# is becoming a good language for targeting the most popular platforms, desktop, web, and mobile?
Is it still better to use the "native" language of target platforms (Objective-C, Java, etc.)
Is it only a screen of smoke and only marketing language?
Please note that I'm actually conscious I won't able to copy/paste the code between platforms. But I'm sure the lower layers of applications (models, business, etc.) can be reused, but I know I'll have to adapt the higher layers (GUI, etc.) to the platform. My goal is more focused on required skills than technical code sharing.
I am a C# developer in a company that massively uses C#. That's why I talked about C# in a plan to expand the range of target platforms in my company.