Functional programming has a long history rooted in math developed in the 1930s. The values that functional programming brings to development have been realized and adopted to traditionally non-functional languages and frameworks, greatly accelerating in the recent years. As an example, React, the most popular frontend library/framework (as of writing this), has changed from being object-oriented to functional. The greatest benefit that functional programming has to offer is providing a framework for breaking problems down; an important skill for any programmer.
I find that functional programming is a fascinating subject with a low barrier of entry and a high ceiling. Best of all, it keeps programming fun!
What are the characteristics of functional programming?
- Immutability (variables don’t change their values)
- Functions as values
- Higher-order functions (functions as arguments or return values)
- Pure functions (functions don’t cause side effects)