The functional journey of C# - Mads Torgersen - NDC Copenhagen 2022

preview_player
Показать описание
Two decades ago C# started out squarely in the camp of object-oriented programming languages.

Ever since, though, there’s barely been a new version of the language that didn’t borrow concepts and features from functional programming; most recently with records. Let’s trace out this history, and also look at some functional concepts that we have yet to fit in nicely – but might in the future! No C# experience required.
Рекомендации по теме
Комментарии
Автор

i love the fact that mads (who, lets not forget is a C# language designer) said "a bunch of people claim they understand Monads but in reality most don't and if you do understand it, its not for long" Then he says he has understood it many times and then the next day was like "what was it about again?" - How awesome and humbling to hear.

MasterOfMisc
Автор

Coming from a functional background, this talk did a lot to improve my understanding of c sharp. Related it back to what I know and pointed out a bunch of equivalences that I had missed. I don't think I'll ever be a very good c sharp coder but at least it showed me how to read the language. I can relate to having "understood monads many times" lol. Really enjoyed the presentation :)

christopherjackson
Автор

Thank you so much for uploading this talk, it is invaluable for me <3

jmbrjmbr
Автор

Thanks! I really enjoyed this presentation! I'm from the Java world (it's what pays the bills) however in my soul I'd like to work in the C# world

luisalamo
Автор

Compiler language features vs. runtime language features would be a nice thing to have control over.
You either set your lang version above what your runtime supports and you have to keep track of runtime features and not use them or you keep it current and can't use any new syntax sugar.

Unless this already exists and I've never been able to find it 🙃

computer
Автор

I wish the csharp language team would tackle the null clusterfuck with more effort. The nullable reference types are a neat compiler feature but produces just warnings and enforces nothing.

Maybe give us code contracts for method signatures. Like "this param cannot be null" or "this integer must be between 0 and 100" or "will throw this exception when this condition is met".

XML documentation is nice (if existing at all) but having a compiler that enforces and safeguards APIs would be way better. Remember ".NET Code Contracts" from Microsoft Research? Pepperidge Farm remembers.

dasunguy
Автор

I am lookin at Zoran Horvat's course on Pluralsight in C# 10 and it seems like records (and record structs) in C# 9 are another important building block in making C# a bit easier to use with functional programming style.

tore
Автор

This is nice but I just wish F# was more popular and accepted. I am doing debugging on an objected oriented codebase I was not involved with building that has mutable global objects injected all over the place and it's just a nightmare.

XKS
Автор

Only thing i want in my life is discriminated unions in c#😂

zhh
Автор

I'm glad Microsoft quickly walked back the C# changes made for complaining VB and C++ programmers. Lead to a much better language.

BryonLape
Автор

Is it possible for Anders Hejlsberg to come back and lead the development of c#?

verdantblast
Автор

"When it comes to cloud programming, history is on the side of functional programming. I'm sorry. OOP is not made for that"
Man... that hurts.

iuribrindeiro
Автор

how are you?- dear~Wow! really breathtaking footage~:)

eprohoda
Автор

Come on guys its 2022, these presentations have to get above Hello World level....

chrise
Автор

most of the code here is just a complete mess

chrischoir