I hope I am contemplating my question correctly.
As far as my understanding, imperative programming (to the very brief) is based on mutation, control structures such as loops and assignments.
While i was following a course about functional programming they have mentioned a point. I want to understand it to depth..
The point is:
If we want to implement high-level concepts following their mathematical theories, there's no place for mutation.
What i have understand from this is, value/co-efficient assigned to particular variable should be same and could not be reassigned time to time to create abstract definition out of it. is it correct ?
Can you add some more points ?