I actually think C# is quite a nice language, I just don't like any of the rest of what comes along with it (Windows, ASP, VS, etc). I am fully aware that you can
technically run .NET on an open source stack, and I am also quite wary of the shortcomings inherent in that approach. I can theoretically run my Python webserver on a Windows box, but I'm not going to. If I work hard enough, I can put a square peg into a round hole, but I prefer not to. Because I need a bunch of packages that aren't available on another operating system. Because there were assumptions made about certain system commands and the presence of certain an init system when I implemented feature Z. Because the application was built from the ground up to run on the operating system it was written for, and that operating system will never be Windows.
It is my belief that .NET on Linux will forever be a project like Cygwin or Wine, a mediocre substitute for pretending one thing is another. I don't hate .NET, I just consider it irrelevant. A non-option. A second-class citizen. If I had a whole bunch of C# code sitting around I really needed to run on a Linux box for some reason, it might interest me, but I don't. I am never going to use Windows as a server, and .NET seems inextricably linked to Windows. Modern Java does the things I would want out of a compiled language like C#, so I'm not clear on why I should care or be interested in something that looks like an equivalent platform. Perhaps you can educate me. You seem to readily admit that Microsoft has made many mistakes across the technology stack, why is .NET so different?
I am curious about how many production .NET applications you have running right now on hosted Linux boxes, and if you would care to share your experiences. Perhaps I am completely wrong about .NET on Linux, and there exists a great and vibrant ecosystem of .NET devs on Linux and all the third party libraries just work great out of the box. If you want to convince people about how great .NET on Linux is, write a blog post about your experience running a large scale project on such a platform. Elaborate on the great packages and features present in the .NET ecosystem which I can't find in Node or Ruby or in the JVM. Don't just vaguely allude to there being a bunch of great open source .NET developers out there making great projects, because the only example you gave (ServiceStack) is not open source or free. Give us some great examples and tell us why we can't find that stuff anywhere else. Convince me that I should care about .NET even when I want nothing to do with Microsoft.
It is my belief that .NET on Linux will forever be a project like Cygwin or Wine, a mediocre substitute for pretending one thing is another. I don't hate .NET, I just consider it irrelevant. A non-option. A second-class citizen. If I had a whole bunch of C# code sitting around I really needed to run on a Linux box for some reason, it might interest me, but I don't. I am never going to use Windows as a server, and .NET seems inextricably linked to Windows. Modern Java does the things I would want out of a compiled language like C#, so I'm not clear on why I should care or be interested in something that looks like an equivalent platform. Perhaps you can educate me. You seem to readily admit that Microsoft has made many mistakes across the technology stack, why is .NET so different?
I am curious about how many production .NET applications you have running right now on hosted Linux boxes, and if you would care to share your experiences. Perhaps I am completely wrong about .NET on Linux, and there exists a great and vibrant ecosystem of .NET devs on Linux and all the third party libraries just work great out of the box. If you want to convince people about how great .NET on Linux is, write a blog post about your experience running a large scale project on such a platform. Elaborate on the great packages and features present in the .NET ecosystem which I can't find in Node or Ruby or in the JVM. Don't just vaguely allude to there being a bunch of great open source .NET developers out there making great projects, because the only example you gave (ServiceStack) is not open source or free. Give us some great examples and tell us why we can't find that stuff anywhere else. Convince me that I should care about .NET even when I want nothing to do with Microsoft.