Why Functional Programming


What is Functional Programming

Functional Programming is a way of programming that relies on the mathematical definition of functions. It has its root (and is pretty much an extension of Lambda Calculus). Most functional programming languages are different because they do not depend on the program state, but instead only on the inputs to the functions. Thus it eliminates side-effects because as long as your function works your program works

Why learn Functional Programming

For me, the major draw of learning a FP language is:

Some more awesome stuff about Functional Programming

There are a lot of StackOverflow questions about functional programming but this was probably my favourite. It enumerates the benefits of Functional Programming. I thought I'd write one line about why functional programs work that way.

If its so cool why does no one talk about it

Well a lot of people do talk about Functional Programming, but its stayed well out of the mainstream until now. Mostly its been used in Artificial Intelligence research (especially Lisp) and for Machine Learning. Basically, anything with a lot of text.

Functional programming just happened not to be in most offices. Hence due to the seemingly complex paradigm not many programmers use it and it has fallen into obscurity.

Why its not taught in the average CS class is something I don't understand. Maybe with all the other portion they have to fit in they have no time for the sad little brother of Imperitive programming.


14 Apr 2014