The Promises of Functional Programming

Functional Programming, Do you know how amazing it is? Do you know the advantages it has?... No!, okay, let me tell you what I learned when reading the article The Promises of Functional Programming written by Konrad Hinsen.

The article focuses on talking about the characteristics and advantages of functional programming, focused mainly on Clojure, because if you did not know, this language (Lisp's dialect) is great; the article also mentions the main differences with traditional programming. 

The advance of technology allows to create more powerful and complex software, therefore, new techniques need to be developed and applied. Functional programming was born around 1950, but recently it has been used to write real-life programs, maybe that's the reason why I had not heard of this technique before. Functional programming has several advantages for concurrent and parallel programming, there are more robust and easier to test than  traditional ones. 

Functional programming does not have variables, Why!? because you realize a computation by composing functions, and functions are not supposed to change any variables. So what do we need the variables for? Exactly, we don't need them at all. But wait... what about the loop!? Just take it easy, functional programming has recursion, basically, it's a function that calls itself, it is efficient and does not need variables. Yes!

Abstraction is the key to write complex programs, in functional programming, algorithmic abstractions are the most prominent, that's why Clojure we have high-order functions. Concurrency and Parallelism are gaining importance, there are some difficulties with them and they are also not trivial to use. But guess what? Functional programming is frequently cited as a promising technique in this context.

Functional programming is a technique with great potential, it is possibly the solution for many complex problems, imagine what this technique can achieve in the future! Perhaps doing concurrent or parallel programs will be a piece of cake.

Comments

Popular posts from this blog

Language as the Ultimate Weapon

The Roots of Lisp

Revenge of the Nerds