Posts

The Rise of Functional Programming

Image
Functional programming (FP) used to be an obscure paradigm that few software developers had heard of but today almost every major programming language - Java, C#, Python, Javascript -   has borrowed concepts or implemented features from FP to make development faster and easier. Functional programming is a programming paradigm for developing software using functions only. Following the FP philosophy means avoiding things like shared states, mutable data and side effects. Unlike procedures that depend on a local or global state, outputs in FP depend only on the arguments passed to the function. Taking out side effects, or state changes that don't depend on function inputs, makes software behave more predictably, which is a major selling point for many FP coders. Side effects: Side effects are any state changes that occur outside of a called function aside from the returned value like modifying a global variable, printing onto console. Higher order functions: Higher order fun...