Functional programming is a modern trend. There are a lot of articles and presentations about functional programming around. Even Visual Studio now has its own functional programming language. But what is really functional programming? And how one can benefit from it in real life projects?