Why should every programmer learn functional programming?

Posted by Otavio H. P. Valadares on August 16, 2017

Almost all people on their first contact with programming, starts with imperative languages, like, C/C++, Java, Ruby, C# among many others, I don’t know excatly why, I think almost all professors on colleges and universities teaches them, and when you search on internet “How to start programming”, almost all you find is how to start with some imperative languages, when you search for tutorial and books, or for recomendations, everybody tells you to start with one of them, but it isn’t too bad, if you learn one of them you can easily learn others, like if you understand Java, it’s easy to learn C#. But many people think that’s all and forget to learn other paradigms of computer programming, like functional programming, logical programming etc.

So let’s start with the main topic of this post, I’m not an expert in function programming but I will try to explain the main reasons that convinced me starts studying this. In the course of this text I will give links with references for anyone who wants to know more about this subject.

What’s functional programming?

I will not deeply explain it, beacause anyone can search and find more complex answer, but in summary the definition is:

“Functional programming is one of many others programming paradigms, that concist in writing your programm in terms of functions and other mathematical structures without state changes”

You can read more on the fallowing links that are explaining the difference of functional and imperative programming.

Source: https://www.fpcomplete.com/blog/2017/04/pure-functional-programming

So, why did I should learn this?

First of all, it’s always good to keep studying and learning new things in order to have new ideas and keep innovating.

Learning functional programming changes the way you think. But, why? Because in your life you have always written codes with imperative languages and you’re thinking imperative, if you learn others paradigms, you will start thinking by other angles, and you can make better solutions for your problems and even innovate them.

A lot of companies around the world have been adopting and using functional languages, here are simple links as examples to check it.

[And if you doubt, remember in 2014 a company named WhatsApp that was made using Erlang was bought by U$16 billion by Facebook

FP has been gaining popularity and if it continues so, soon it will be required in many jobs opportunities.

Source: https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536

It’s to hard to learn? What’s next?

This is the first post of a serie that I will made explaining my progress on functional programming and what I have struggled with. On The next post, I will talk about which language I have choosen to study and why.

That’s all for today folks, don’t forget to follow my blog and ask questions if you have any.