This is the first of a series of blog posts where I will be exploring how functional programming techniques are useful in the daily life of a working “enterprise software” developer.
If you, like me, began programming in the 1990’s, then you will probably have started in a procedural programming style with simple task orientated scripts, and then progressed to an object oriented style for its better fit with event orientated GUI applications. As the software craftsmanship movement has grown over the past few years, you will have honed your S.O.L.I.D. OO skills; and focussed on making your code maintainable & testable/ed.
I won’t be trying to explain the concepts behind functional programming – others have done an exellent job of that already; so I’ll just link to them  . Rather, I’ll be curating practical examples where a functional style can be applied to everyday programming problems.
- Higher order functions – simplifying loops
- Implementing the strategy pattern without an explosion of classes
- Side effect free functions – code that is easy to test & reuse