2 ms·
You still get C#/.NET, with it's superior performance and type safety, but just without all the OOP bloat.
by andix 5y ago
You still get C#/.NET, with it's superior performance and type safety, but just without all the OOP bloat.
- LAC-Tech 5y agoWait, you think this is not OOP? var app = WebApplication.Create(args); app.MapGet("/", () => "Hello World"); app.Run(); You're creating an object and calling methods on it..
- andix 5y agoThis is more functional. C# is an multi paradigm language. There is not a big difference between an FP module and an OOP static or single instance class.
- LAC-Tech 5y agoI think the word OOP has lost all meaning and just means "crusty old code I hate".
- andix 5y agoIn the OOP way you create controller classes. In the FP way you pass lambdas/functions. So yes, it’s not 100% functional. But probably 80%?
- LAC-Tech 5y agoYou're creating an instance of an app class, calling methods on it, and passing objects in that method (string and lambda are objects). I just feel like the term OOP can't win here. If it's concise people will just claim it's FP.
- andix 5y agoOff course there is still OOP involved. Also most FP languages support objects to some extent. Also records and their modules have some similarities to OOP. And even FP can be never completely pure, there always has to be state. But this approach is just more functional than the one before.
- arethuza 5y agoAlso MapGet seems to be changing the state of the WebApplication object... which doesn't seem to be very functional?