Hacker News new | ask | show | jobs
by jongalloway2 4403 days ago
It's too bad you were downvoted, this is a good question.

First, I'd question why you'd still think of it as a proprietary ecosystem. It's an open source (Apache 2), cross platform framework. It's not even directly released by Microsoft, it's released under MS Open Tech, which is a foundation just focused on open source development. And it's not just "throw it over the wall open source", it's an open source project that's set up for and encouraging contributions.

Even the compiler it runs on is open source, also under Apache 2 (http://roslyn.codeplex.com/license).

As for the "why" bit, here are some reasons:

- If you're developing on Windows, Visual Studio is a pretty good web editor. That includes Visual Express for Web (free) with the Web Essentials extension (also free, works on Express). You can develop on Windows (inc. a VM) and deploy anywhere.

- C# really is a pretty nice language. It's static and compiled, but has support for some dynamic features. Linq is really useful. Generics work well. The language spec is under an open standard. Everyone has their own preferences on languages, but it's pretty nice.

- As a web framework running compiled assemblies, it can run pretty fast.

- If you're interoperating with .NET and/or Mono, of course this is pretty useful.

- C# and .NET are actually really good for cross-platform development (e.g. Xamarin hits ios, android, wp, maybe even tizen soon). For example, C# runs better on my Mac than Ruby does on my Windows machines.

- If you find that ASP.NET MVC 6 (the version vNext will run, including MVC / Web API / SignalR) works for you but you don't like Windows, you could dev on Mac / *nix and publish to Azure / Mono / whatever.