Very good video. One thing i would have liked to see is more info about immutability at the field and parameter input level (readonly, const, immutable /read-only collections, etc).
I'm a big proponent of many of these concepts: the static keyword, minimising state, immutability, pure functions, however I can't see the advantage of treating methods as variables, at least in my usage of C#, which is APIs. In the end I think a good old long procedural method is simplest and best for me. But in front-end, this could be of interest, though I feel like it would take something very special to top declarative reactive programming with rxjs.
@@traintocode most of the function comes with static keywords and redundant future release will come static by default and no need to put unless you will change to non-static
We'll be moving back to punch cards next year ;) in all seriousness though developers have a tenancy to over index when we learn a new thing. You learn OOP and suddenly every problem looks like it needs OOP. Then a few years later people realised that was not correct.
Very good video. One thing i would have liked to see is more info about immutability at the field and parameter input level (readonly, const, immutable /read-only collections, etc).
Great suggestion!
I'm a big proponent of many of these concepts: the static keyword, minimising state, immutability, pure functions, however I can't see the advantage of treating methods as variables, at least in my usage of C#, which is APIs. In the end I think a good old long procedural method is simplest and best for me. But in front-end, this could be of interest, though I feel like it would take something very special to top declarative reactive programming with rxjs.
5:13 - Here you use the builder pattern on record to provide a domain model for changing the UserRecord ?
could you do a brief overview of Clojure please x
What about int Div (int x, int y) function? When y = 0.
Didn't know you could have top level functions in C#! gonna be honest, my distaste for C# is slowing wearing off
Hahaha as it should...
nice one, thanks
The only issue I have is the name of the composed method. It incorrectly describes what the function does.
You are probably right I could have picked a better name. Naming things is the second hardest part of software engineering
@@traintocode Whats the hardest part?
@@csabraxas Cache invalidation
I have feeling that the keyword ‘static’ will be omitted in the future release
Why do you think that?
@@traintocode most of the function comes with static keywords and redundant future release will come static by default and no need to put unless you will change to non-static
First we move from functional programming to object oriented and now we r moving back to functional...what I can say...programming is a circle 😂
We'll be moving back to punch cards next year ;) in all seriousness though developers have a tenancy to over index when we learn a new thing. You learn OOP and suddenly every problem looks like it needs OOP. Then a few years later people realised that was not correct.