The software industry has experienced a paradigm shift towards functional programming in recent years.
A paradigm shift in programming refers to a change in the way we approach writing code. Contrary to the common belief, a paradigm doesn’t bring new features, it comes with a set of limitations. These limitations, when embraced, can bring benefits of writing better software.
Here is what I mean:
- Assembly language is a low-level language with no limitations, allowing for unlimited access to memory locations and the ability to manipulate bytes, pointers, and code flows.
- Structural programming introduced the concept of code blocks, with limitations on how we treat iterations and subroutines.
- Object-Oriented Programming (OOP) added further limitations by controlling how internal memory of objects can be accessed through encapsulation and abstraction.
- Functional programming, limits us to the use of pure functions and immutable structures, leading to greater clarity…