Maybe one day they'll bite the bullet and let you write a function without extra 10 keywords and a sprinkling of nouns
I really want to like C# but there is a reason why it has no ecosystem outside of enterprise and gaming slop
Maybe one day they'll bite the bullet and let you write a function without extra 10 keywords and a sprinkling of nouns
I really want to like C# but there is a reason why it has no ecosystem outside of enterprise and gaming slop
Which 10 extra key word? It is a statically typed (bring things like types, type parameters, ...), object oriented language (brings things like abstract, override, class, ...) and high performance (brings things like ref, in, out, ...).
And it is expressive instead of "mathematical" (like ML languages) which makes productively in code reviews a thing.
It is exactly where it should be.
Maybe functional language programmers will one day pull the stick out of their arses and get a bit less supercilious, and realise that expressiveness and function name length has absolutely nothing to do with runtime performance, especially in native and properly JITed runtimes. Maybe they'll realise it makes things easier to approach, read, reason about, and hence write more correctly.
When I dream I don't think about public static class IDream
OOP is a scam, a useful scam but still a scam, it is in no way easier or better to force _everything_ to be a class
P.S. not a functional programmer at all - except in dotnet (F#) because there's less stuff to get in my way.
> OOP is a scam, a useful scam but still a scam, it is in no way easier or better to force _everything_ to be a class
You're in luck - C# doesn't force everything to be a class and has many functional programming features. Hell, even C++ has had functions as data for, like, 10 years now.
A scam that powers all major mainstream programming language ecosystems, and their toolchains.
I'd much rather be writing in C# than going back to C++ any day of the week.
What's there besides enterprise and gaming?
System programming, Ai, and start ups crud apps?
> Maybe one day they'll bite the bullet and let you write a function without extra 10 keywords and a sprinkling of nouns
I have no idea what you are talking about. Care to present a single example?
well to do anything new in a C# project one typically ends up making a class inside a new namespace, if I just want to write a solver with no state it's quite jarring and distracts from otherwise a pretty good language that I like working in. So 2 new nouns and a handful of keywords.
> well to do anything new in a C# project one typically ends up making a class inside a new namespace (...)
You don't need to. A few years ago, C# introduced top-level statements. They were introduced in 2020, I think.
https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals...
Hello world in C# today looks like this:
That's it. No namespaces (which were never required anyway, not even in C# 1.0), no classes, no functions even. If you want to define a function, you can just do so in global scope, and if it's a single expression you don't even need the braces:It’s clear you haven’t run `dotnet new console` in years or you wouldn’t be saying this.
You want to write something in C# smaller than 10 words?
A namespace isn't required