An Intro To Functional Programming
Functional Programming is a software developing method that uses pure functions (much like those used in mathematics); this means functions where the return value is only determined by its input values, without any observable side effects. This method of developing software follows a declarative approach that relies on expressions and declarations rather than statements.
Functional code is usually more predictable, concise and easier to test than object oriented code and takes advantage of data structures that prevent properties from being changed at any level in the object hierarchy.