START WRITING C# NOW.WE ARE GETTING TAGGED UNIONS WITH EXHAUSTIVE PATTERN MATCHING IN THE NEXT RELEASEhttps://devblogs.microsoft.com/dotnet/csharp-15-union-types/
>>108559700>WE ARE GETTING TAGGED UNIONS WITH EXHAUSTIVE PATTERN MATCHING IN THE NEXT RELEASEerm, what? data structures + algorithms = programs, not whatever the hell this is
>>108559875
>>108560011The tagged union is a data structure and the pattern matching is an algorithm
pretty cool. just wish the happy path for c# could end somewhere other than azure ci/cd. everything before that (windows - vs - gh) is such a strong lineup. then its just BRAP azure at the end there
>>108560868...And you can't just use a non azure server to host your C# program? You can't just make software meant to run locally?
>>108560889i can, but i like to synergy stack. so using c# without azure is a frustrating prospect. i just wish they would let me provision hardcapped $/m server (no auto scaling, no surprise bills).
>>108559700Cool now make it possible to write this in VSCode and support it for more than 2.5 years
>>108559700>Let's make C# like Rust but gayer and with less build targets
>>108560868Then how would Sloppy Nutella's favorite microslop branch of Microsoft be able to grow and attract investors anon? Think of the lost Izzat from that!
>>108561029It is... Just like all C# features in the .NET Core branch. Which has been the main branch for 10 years by now! The entire compiler/toolchain/standard library including the new features OP mentionend and their internal design/meeting notes are publically available using the MIT license. You can run a of it on your linux machine using neovim if you want, or emacs or vscodium.The non-free .NET Framework hasn't recieved any changes for literally years (since 4.8.1).
I want non-exception stack unwinding.
>>108563395me too but backwards compatibility... :(
>>108559700I'm sticking to C++17 thanks.For like the next 100 years.Seethe.
>>108563349>toolchainNope, the C# extension for VSCode, besides being so bad it's literally unusable, is not only proprietary, but it's also non-free as in non-free beer. You may only use it with a Visual Studio license, which you won't have if your company doesn't pay for it.Everybody uses VS for C#, and Microsoft really doesn't want that to change.
>>108564432It’s also not required
>>108559700F# btfo again
oh boy another episode of OOP midwits reinventing FP from first principles while F# quietly rots in the basement
>>108564432rider sends his regards
>>108564538going full fp is retarded
>>108559700It bothers me when they change shit this often.I enjoy being a multi-lang chad, feels like I'm omnipotent, allknowing. And they just show up and flip my shit upside down, contribute nothing and walk away.
>>108564542skill issue
>>108559700I don't get it, isn't this what polymorphism is for?Should they not all just implement an interface Pet and have improved the experience of type-checking that?Or am I missing the point? I've never had a problem which this would solve, though I'm rather strict with my class hierarchy and generics.
>>108564560unions with pattern matching just killed the visitor design pattern btw.
>>108564560Nevermind I managed to accidentally skip the center portion where it states a union is a strict set at compile-time. I'll probably still neglect to use it, I haven't even found a good instance to use `record` yet either.
>>108564566I never did enjoy the visitor pattern but I feel like it doesn't fix the problem of having to update sparse sections of code which do type-checking when classes are added or removed, whether as if the class itself owns the methods it's less sparse (but muddies the intention of the class). Though I'm probably in the minority of people whom think that's a problem.
>>108564541It's also a proprietary special snowflake program just for this one language that's paid too.
>>108559700Pattern matching is garbage and shouldn't be in a programming language. You're just asking for undecipherable bugs when your coffee becomes legacy code.Your programming language needs to stay relatively simple. Once you start adding a million bells and whistles to it it becomes unwieldy.
>>108564759If you think pattern matching is needlessly complex but not the average OOP codebase, you are either low IQ or have an autistic aversion to any kind of new thing.
>>108564558>FP is great you just have to not have any external IO!Yeah thanks for the demoware for hello world
>>108564520Not for fizzbuzz. I understand /g/ doesn't write anything more complex than that, but if someone does, it is absolutely not enough.
>>108564769Go throw a novice programmer at OOP vs pattern matching. They will struggle with pattern matching far more than OOP. A decent amount of programmers you work with are basically on the level of novice or beginner programmers and they will be your weakest link. This is also why all these esoteric things like logical and functional programming never took off - prolog and haskell are too hard for a lot of programmers.
>>108564730>paidThey made the community edition free. There are no more valid complaints
>>108564787I could easily argue that what idiots think is irrelevant, but I don't even have to. Teaching juniors how to use pattern matching and other FP techniques hasn't been hard for me at all. Kids like terse features.What I have struggled with is getting dumb shit oldheads to understand it because half of them still program like it's the 90s and they're still using an ancient version of Java. Even fucking LINQ is alien to them.
>>108564791Non-commercial use only
Imagine paying for a programming license... to the incompetent programmers at microslop.
>>108564814>Teaching juniors how to use pattern matching and other FP techniques hasn't been hard for me at all. Kids like terse features.My experience has been the opposite. Even back in college the only class more disliked than Haskell was Prolog.
>>108564897Respectfully, I don't feel like having to explain for the hundredth time why a) Haskell does not represent FP and b) Haskell is a terrible programming language, which is not because it's FP, or even because it's pure FP.
>>108564783hello world has a side effect since it prints to the console. an fp purist nigger can't even print hello world in their retarded paradigm
>>108564831>they heckin’ check!