I'm looking forward to Discriminated Unions being finalized. One day... <a href="https://github.com/dotnet/csharplang/issues/113" rel="nofollow">https://github.com/dotnet/csharplang/issues/113</a>
I love these new additions because I like new stuff but I'll admit it's hard to keep up and use things with good taste. C# is becoming a BIG language similar to C++. But I guess that's the only way to get a broad user base long term.
> An interesting case is the is not null pattern. This will check whether the reference is not null. Using != null may check something different when the type overloads the != operator.<p>If it doesn't use the != operator then what does it use? How does it work with Nullable<T> which relies on that
i have been using C# since 2010.I find it a good language but I believe the future is not for strict statically typed languages and but for smart linters which probably could take over compilers.<p>The effort you put into strict types doesn't deliver the returns. Languages like Typescript incmy opinion are the best as they provide optional typing and support things mixins for example which is difficult to implement in C#
C# has some wonderful quality of life improvements over, say, Java. I had to learn it in a rush for a job and really loved the language.<p>Unfortunately, it was the worst job ever. Abusive, corrupt environment. I found a subtle accounting glitch that no one else seemed to quite understand. Assuming good faith, I showed mathematical proof for it, and I was canned shortly thereafter. On its own, the glitch wasn't too serious, but I suspect people were nervous that I was digging too close to something else.<p>Never bothered to set up the env at home again after that on account of the foul taste in my mouth, but that was hardly C#'s fault. Just found other things to do.