C# is still one of the best languages I've used, which is the reason why I've kept at it for so long - e.g. it got async/await semantics in like 2012 (just after F# did). I'm about to switch jobs to a company that uses Typescript/Node after years in .NET and I feel like I'm going to miss quite a lot of the development experience. I'm not sure which alternatives are necessarily better but again I haven't spent a significant amount of time with, for example, Golang or Scala. Swift was kind of equivalent but (AFAIK) missing some features and the vastness of the nuget package ecosystem.
Definitely some room to grow in the technical respects, but the .NET ecosystem is pretty decent, as it is.
Eh?
C# and F# are fabulous languages - it's a huuuge stretch to claim that almost anything else is "better".
Most desktop applications targeted at Windows are written in .NET and C++ only comes into the picture via COM/DLLs, hardly anyone writes pure Windows applications in straight C or C++, unless we are talking about games.
There are scores of Windows developers who’s skills are now transferable to Linux, Apple, and Android development (albeit with some caveats).
Thank you, Microsoft, for showing me a way out.
Many Linux people like to use Python, for instance. Unfortunately, it's a slow language for all sorts of incidental but hard-to-fix reasons. This has led people to look for alternatives. I think Go is increasingly used as an alternative, but it lacks features like operator overloading which are a necessity in certain areas. There's JVM languages like Java, Kotlin and Scala as well. Nim is up-and-coming. Some people use functional languages like Haskell and Common Lisp. C++ is widely used but not much loved.
I realize of course that not all Linux users are C programmers.
Given the opportunity to transfer my C# knowledge over to Linux, I'll take it.
From my personal perspective, roughly 75% of all applicable (non-Windows-UI) .NET greenfield project go straight on Linux. The brownfield/maintenance situation is surely different. Companies are not married to the Windows stack when you get the alternative for free. And R&Ds just follow that.
.NET is on Linux and performs excellent there.
(FWIW, I spend about 40% of my working time dealing with dotnet).
Since we are on the topic of Linux so something exciting was merged for .Net6 that wasn't talked about; the new file interface with support for symbolic links. That sounds a bit absurd but it's been a long standing issue with challenges you wouldn't expect..
It is Windows/Linux that are becoming irrelevant.
Future is about browser applications/mobile applications and cloud workloads.
Yes of course there are uses for desktop computing but those are specialists.
While general public will be using phones and tablets not even owning a laptop. On the phone/tablet people don't even care what is the OS.
I already know people who don't have computers at home, only tablets/phones/gaming consoles. Normal people want to play games, message each other, no one cares about OS an Microsoft knows that.
Better how? There are people convinced that C is the best because it's the fastest, and if that the only thing thst matters to them, they aren't wrong.