November 2017
Intermediate to advanced
670 pages
17h 35m
English
Let's examine a basic function definition, where f is the function name and x is the input value. Another name for x is the input parameter.
The entire expression f(x) represents the output value:

If f(x) = x + 1, then we know that every time we input the value 2, the output value will always be 3.
This pure and simple characteristic is what makes functional programming so powerful.
If, on the other hand, we had an object with an AddOne method that would sometimes return 3 when given the value of 2, then how could we reliably scale our object.AddOne method? We can't, and that is the main reason why, in the context of ...