|
I really don't understand why this is being downvoted into oblivion. It's a valid question. One answer is simply that C# is an awesome language. It is roughly as expressive as Ruby and Python, yet it is usually faster and it has much more powerful tooling (MonoDevelop, Visual Studio), partly enabled by its static typing (which is mostly up to taste, I suspect). Also, .NET is very batteries-included and the open source ecosystem is decent (decent, not good). As an example, I currently run a team that develops a C# backend. We dev on Macs, Linuxes and Windowses, we deploy to Docker containers on Linux hosts, we use Postgres for data and the open source ServiceStack for API bindings. When e.g. one of our Mac devs does a deploy, not a single byte of Microsoft code is touched. I'm not saying you should do this too. But it's a valid option, and you can perfectly well do C# without depending on Microsoft tooling or paying them anything. Of course the future is still very much determined by MS, so we're betting that MS doesn't kill Mono-for-Linux once they buy Xamarin. But that's not very different from Oracle and Java, really. MS made stronger and fairer community promises, if that's something. |