> .NET is now cross platform, but only as long as it doesn't hurt VS sales, with GUI workloads, profilers, still being mostly Windows only, and partially supported on VSCode, which also has the same VS license.
On HN I keep hearing that associating .NET with Windows is outdated perception.
Writing JVM languages I feel that the developer experience is pretty much the same on any OS. It seems this cannot be said for .NET?
If you're writing a server or a web app then its good and runs well.
Visual Studio is still not ported to Linux or Mac, you need to use Rider or VSCode. If you use JetBrains for Java, using Rider will feel good no matter where you are.
The GUI library situation is a tough one. In many ways its far more advanced than other languages but their newest attempt is not as good as the older Windows only API. But what other language is graded for its great native GUI library?
I'm not calling MS cool but at the same time I think the goalposts are different.
It can. DX is pretty much the same for backend and CLI stuff using VS Code on Mac, Linux and Windows. I'm working daily on C# backend and CLI stuff on a Mac (those are the dev machines at my employer). DX is on par with Go and Rust (at least dotnet CLI, LSP, Debugger, I can't speak for the profiler as I've never used it). I like the Rust tooling most, but dotnet CLI is not far behind.
Language and std lib wise, C# sits in the sweet spot.
We have a few .NET applications running on the infrastructure on Linux hosts and it's just like every other thing.
But in some contexts, e.g. PowerBI, it pulls in a dependency and BOOM it's Windows Only to the point that not even Wine or Proton can help you. For something, that should be, mind you, a dumb SQL proxy like the PowerBI Embedded Gateway.