Here, I'll save you reading a crap article that is 2/3s the work of someone else (the fake interview, for filler): feature creep is killing C#.
Now if you want a kinda-funny fake interview with the creator of C++ that you've probably already read, then give the link a click and scroll down a paragraph. But that's not really what you came here for, was it?
You could also compare C# to Typescript and F#, both of which adopted pattern matching and a lot of the “algorithmic” features way before C# did.
I personally don’t like a lot of the “a’ of list b’” nomenclature because I’m bad at algebraic math, but that doesn’t mean that C# is dying. They’re all optional…
Pattern matching + switch expressions + LINQ = more and more of my code is becoming declarative/functional over time.
I have yet to see a realistic technical argument for why more features is somehow bad. If you don't want to use the fancy new stuff you can actually turn the langversion down to whatever you prefer at the project level. Not sure why you'd need to do this unless you were worried about engaging in some accidental convenience or having your filthy nullables more aggressively audited.
80% of the article is just a (fake) interview with Stroustrup about C++, and none of it is relevant to C#.
The features that the author rants about are extremely useful and drastically cut down unnecessary verbosity such as switch expressions, to advanced LINQ, lots of syntactic sugar like `var` and type deduction (all of which are incidentally entirely optional).
The .NET ecosystem also comes with powerful reflection, and now (not relevant to the C# itself, but) ahead-of-time compilation to native code, a great package and dependency manager in NuGet, and a powerful command-line (`dotnet`). C# also takes valuable features from F#, which I might end up writing stuff in.
What's more to not like? I wish C# and ASP.NET Core displaced Java and Spring Boot. I wish my university had taught data structures and Programming Methodology II in C# instead of Java.
Microsoft's move to open-source the .NET ecosystem has been by far one of the best decisions it has ever taken in recent years.
This is a clickbait-sounding title with a questionable opinion. OP is unrecognizable. Judging by the amount of comments and upvotes, this article received some amount of traffic and the author made money off of it. Looking at the author's posts, reveals a similar pattern of clickbait-sounding titles of which I chose not to follow and compensate the author for any more.
Since C# is open source and has an open process for new features that many people in the community participate in, my assumption is that there are a lot of people who would disagree with this opinion. I personally use many new language features to great advantage today and appreciate what they do for myself and other developers.
I used to love C# and it was my most favorite language for some time too…regarding feature creeps, I’m afraid this is expected for every programming language out there that is developed from within a company. Bloated language and feature creeps are clearly a result from ppl chasing after KPIs and seeking for reasons for promotions. I suspect Dart is on a similar path now.
You can always tell you're dealing with a junior-level programmer when they complain about new syntactical sugar added to a language.
I've been programming almost entirely in C#/.NET since its beta in ~2001, and though the language has obviously evolved significantly since then, it still feels like the same core. The language features were never an issue; it's the ephemeral feature frameworks that can be frustrating (e.g. WCF, WPF), and of course, the whole .NET Core/Standard/Framework confusion. However, that is easily tempered by the fact that .NET moved glacially compared to the 'hip' languages, and support is offered for older tech for years/decades.
The last few years have brought the seamless ability to run .NET on Linux, a built in, super-fast web server, support for gRPC, fully open source, and massive performance improvements. It's never been the 'cool kid', and it has its baggage from years of MS being MS, but I'm hard pressed to think of a better choice today for writing a large, reliable, and performant web application.
C#/.NET probably rivals Java in the billions of lines of code out there, written over the last 20 years, driving critical business processes across many sectors. It's not going anywhere anytime soon. There's not even a reasonable contender for migration for all those 1MM+ LoC 'boring' applications out there (unless you flip to Java.)
I was a bit surprised to see the comment that C++ isn't really used anymore. Or, it's certainly not the go-to language for a lot of general-purpose tasks, but I'm writing this comment using a program written in C++ while writing C++ at work.
Microsoft make so many obvious and actively painful mistakes almost daily, so its weird to see an article clutch onto something more tenuous like "I feel like Microsoft are focusing on the wrong features".
That said, I would probably pick Java over C#, so maybe I'm biased.
Now if you want a kinda-funny fake interview with the creator of C++ that you've probably already read, then give the link a click and scroll down a paragraph. But that's not really what you came here for, was it?