I understand what you're saying, but there exist C# desktop applications for Linux/MacOS for quite a long time - say, Banshee, Tomboy come to mind - and dotnet core should be a decent platform for backend services on these platforms by now.
I understand what you're saying, but there exist C# desktop applications for Linux/MacOS for quite a long time - say, Banshee, Tomboy come to mind - and dotnet core should be a decent platform for backend services on these platforms by now.
There are a few (GNOME) programs, which can be attributed to Miguel de Icaza. They tried pushing for Mono despite all the FUD surrounding C#, but I can't say they got much far.
I know it's tiny sample but neither I, nor many GNU/Linux users around me know C# or ever needed to use it.
If I developed a game I would 100% use mono + xna now on OSX.
The fact that Unity has an "Export to Linux" button doesn't tell anything about the penetration of C#, as a programming language, in GNU/Linux community. People running binaries don't choose or use languages. They just run the binaries generated by the compilers of the implementation of those languages. It's the developers who use languages.
You can as well mention how many Windows programs can run on Linux and macOS using Wine/Proton, because you're conflating the existence of Linux binaries of Windows games (or iOS/Android games) generated using a multi-platform game-engine (and most likely developed on Windows), with prevalence of C# among GNU/Linux developers.
And this is why I specifically referred to distro repos in my original post, because those are developed by the actual GNU/Linux developer population (mainly for GNU/Linux users).
.Net core is potentially going to fix this though.
As for Go, Rust (and maybe Muon): I believe all of those have rough edges in cross-platform development too. Say - building nice UIs across platforms is still messy as far as I'm aware - and the C# cross-platform apps I mentioned (see: Banshee) struggled with that in the past as well.
Definitely don't want to sound like a C# fanboy, although this is the stack I'm working with. I'm merely saying that is is a viable and improving option, so dismissing it in favor of a completely new language seemed odd. Not to knock Muon, but why can't they both co-exist and be equally viable?
The concerns outlined here are still valid for the FOSS community today: https://www.fsf.org/news/dont-depend-on-mono https://www.fsf.org/news/2009-07-mscp-mono And these are serious concerns given the context of Microsoft's hostile campaigns against FOSS, and EEE tactics against all competitors. What Oracle did with Java after acquiring Sun (Oracle vs Google) only justified and strengthened these concerns.
The way I look at it, it's a risk that is not worth taking, especially given the alternatives today.