Could you think of something specific that you find a joy to do in C# that isn't a property of the IDE? "true" async/yield (completely stopped coroutine) is one of the things I was excited about, but quickly annoyed when the interface to `Task`s was so bloated and unintuitive... Why would somone call `.CountinueWith` on a task and NOT expect the result? Maybe I'm just expecting a specific interface out of `ContinueWith` that isn't there
The .net ecosystem has always been a mixed bag. MS did there best to kill off OSS usage with some very "me too" offerings early on. It's always been way too tied to windows. It can often be as enterprisey as the worst java has to offer. Nuget is used for far to many things like loading Visual Studio plugins.
.net core is a clusterfuck and seems to have embraced the move fast and break things motto, this is absolutely not something I or the companies using .net want. Everything is behind the dotnet build tool, even the compiler as an independent component is hidden away from you. The whole stack is moving way to fast for enterprise customers, which was there bread and butter.
Could you give some examples of useful new features that the language has accrued recently?
It felt very much like Nuget was an attempted solution to DLL hell but it was just another version of that same hell itself but at least now on your VS machine you didn't have to find wherever your company stored their libs
ASP.NET has always been a mixed bag for me, and I've always felt tied down by my decision to restrict myself to the Windows platform. More often than not, I've found that peoples grievances towards C# or .NET has been more to do with Windows issues, outside of actual issues with the language.
Outside of Windows, the sheer amount of control over the ecosystem has always turned a lot of devs away, despite it being something that .NET devs love. Give me Visual Studio and a decent set of standard Windows tools and I'll be in heaven, whereas someone that is used to choice might not feel the same.
It might not be true but I am not stating a fact, merely expressing my bias against the dotnet platform. I hope they succeed anyway :)
We now use python, ruby, rust, go religiously.
I care about the application and the end user's experience. Language is just a means to that end. C# makes it fairly easy to encode what I'm thinking in a safer way than, e.g., C or C++.
The C# community doesn't need another naysayer, but I did want to find out (maybe this is the wrong place to ask) from people who enjoy using it why they do.
> and even Java exist.
When you mention this, I think you are trolling. I can see starting a greenfield project in C#/.net. There isn't any reason to start a green field Java project. Just like there is little reason to start a greenfield C++ project.
When I say java, I mostly mean a JVM language... yeah I wouldn't really start a new project in Java, though I've heard nice things about JavaFX on the GUI side of things.
I think .net timers not so much.