Products which would cost Microsoft absolute peanuts to acquire. Or even just use that as a model and rip it off entirely with an in house version.
So in the end it's good all those tools stay independent and focused.
OP is speaking out of thin air. It's one of the best programming languages out there.
Not because C# is a bad language but because it’s not particularly good at anything. It’s a jack-of-all trades which isn’t even the best jack-of-all trades. So unless you have a lot of years put into it, either in your software stack or in your employees there is very little reason to use it in 2024.
But maybe you know of reasons to use that I’m not aware of?
It's extremely good for web APIs, for one.
By far the best developer experience I ever had was in C#.
I wish other langs like cpp or c were at least half as good at those as C#
C# was the first to get async/await, generics, LINQ, PLINQ etc - the path-breaking features that shoot up not only productivity but the ability to do certain things in a much better way.
Just because kids have caught up, it doesn't mean we are going to abandon the daddy.
but if you were going to pick a tech for a new project without a history of using C#, why would you pick it in 2024? If you’ve got a large .Net stack and a lot of experience with it, it’s still a great choice. I was a c# developer for a decade mind you, and I’m not sure I’ll ever use it again because it sort of lost its foothold despite being in a really great place.
I think you're just in a bubble. dotnet is widely used, and keeps getting better. I can program in many languages and yet csharp will very often be my go to for backend stuff because it's just the best.
Even on something like their MSGraph SDKs we’re often getting better performance out of the JavaScript SDKs.
I think it’s a little silly to say that Microsoft isn’t taking C# serious. If you look at Azure DevOps, which has not been taken very serious by Microsoft since they acquired GitHub and then compare it to C# there is just a world of difference. I do think it risks going that way. I’m not sure I think Visual Studio is taken fully serious anymore, but it’s still getting much more attention than Azure DevOps and C# is just… miles ahead of every product in terms of seriousness. I do think they are making it more and more like Typescript, I’m sure we’ll eventually see classes replaced by Types and functions being capable of living on their own, but that’s not really a bad thing.
You can use CsWin32[0] and CsWinRT[1] both of which provide rich generated bindings for their respective APIs. A colleague of mine recently got rid of C++ component thanks to the former, simplifying the solution build.
I’d be curious to know what percentage of people are still writing windows clients. I suspect there’s a lot of legacy code still out there, but it’s clearly not the future
Unfortunelly WinDev and XBox[0] only cares about C++ and COM nowadays, after they won over the whole Longhorn drama.
[0] - Managed DirectX and XNA were projects pushed by key engineers, folded after they weren't any longer around to argue for their projects.
I often find it quicker/less frustrating to just fire up a new console app project.
Last time I tried to use it I think it was even running an old version of .Net and you have to remember to switch the version.