Neal points out the major advantages of using functional programming:
- Language Evolution: all major languages are adding functional features.
- Results over steps: create optimized applications to solve a problem rather than using frameworks
- Immutability: the freedom of not worrying about the state of the objects - "failure atomicity"
- First-class/higher-order functions
- Pure Functions
- Strict Evaluation