Why "Functional Programming" is sunken for decades and now on a high raise?
The functional programming is introduced back in 1958. But it wasn't used on mainstream programming for decades and lately it's on a high raise. There are a lot of discussions going about the FP and FP languages are now getting super popular. Even OOPS languages like Java and C# are adding FP features to them. Why is this phenomena? I have few theory from my research which is mentioned in my article, if anyone can add their suggestions would be great. https://medium.com/jsplanet/a-novices-introduction-to-functional-programming-cae0a8c76b4 "Since the internet is growing rapidly, high-end processing power is needed to handle the different process and the vast amount of data. Concurrent programming is effectively used to split the processing power into a different core or even different systems. Functional programming can support concurrent programming with great reliability. So big players like Facebook, Amazon, Twitter etc. are using functional programming languages to write their heavy processes."
5/15/2019 4:46:07 AMR R
3 AnswersNew Answer
Back in the 70s computers were slow so you wanted languages that are simple and close to the metal. It's nice that I can write down infinite lists in Haskell in a single line of code but if I have 1KB of RAM and every CPU instruction needs to be planned out it isn't going to matter. As resources are becoming less scarce and compilers are getting better, languages are naturally becoming more high-level and functional. Business also doesn't choose languages because they are beautiful, but they will choose ones that are already widespread, and it takes some time for existing languages to catch up. But FP was never really been sunken, LISP and Erlang have always had at least some presence.
Your question contains a wrong asumption. All programming paradigms have always been popular and supported by many different languages. Todays focus in the main stream is on Data Analysis, that is pure math, so using functional programming is the obvious choice.
I think it's due more to the downfall of OOP.. It got overshadowed by the popularity of OOP and came back to light by its proven shortcomings.. Personally I always thought of functional programming as default.. It's not limited to the some type of problems, It's compatible with basically all other paradigms.. side note: do you consider structured programming a paradigm