Functional Programming – Avoiding Mutable States
- Functions avoid mutable states
- Functions are stateless
Most of the methods in Object oriented programming modify the state of the objects. They might assign or update states of the objects. It is very normal and object oriented programming is based on this concept of state updates of objects.
But functional programming states that functions should avoid mutable states. That means they should not assign or update any state of an object.
Functions are independent in their executions and ensure that there are no side-effects during their execution.
The primary reason behind this is that having mutable states lead to concurrency issues and it is hard to leverage the parallel processing capability of multiple cores.