Ask HN: How did C# become one of the most cross platform languages of all time?

11 points by dham ↗ HN
This always intrigued me. I'd like to know the history of this. Seems unlikely that a language from Microsoft would be great at building Mac/iOS apps, games(Unity), and Android. Is this just due to the work from the Mono team? I think C# is pretty cool but would have been great to see Ruby or Python get the same love.

4 comments

[ 3.1 ms ] story [ 25.1 ms ] thread
I think this is true (from memory)

Unity was already C# before phones and paid Mono to port it to the iPhone. That kicked off Mono realizing that these new platforms could be a source of revenue, and charged for support. Their approach has been: Mono is free for free OS's and for pay for proprietary ones.

Another driving force is that C#/VB.NET is very popular in the enterprise for Desktop apps. This pool of developers need something for phones/tablets and there's Mono just ready for them.

Ruby/Python are not as good for desktop apps (more on servers) and phones, Macs, and tablets are not likely servers.

It is also a very well thought out language, that took from Java's history many of the mistakes it made, learned from them, and avoided them.
C# was an open standard from the start. And it was well-designed.

And yes, a big reason for C#'s cross-platformness is the work of De Icaza and the Mono technology.