This article is a complete transcript of the first master class prepared for “STEP” academy. slides published by link
Answer the question “what is functional programming?” it is rather difficult, since this term is rather vague. The idea itself includes many different concepts that have changed over to other types of programming over time, which has made it harder to distinguish a clear line, but there are some characteristic ones. Under functional programming for the moment, I would understand the way of thinking when developing software.
In order to better understand what it is, it is necessary to understand several stages in the formation of the direction and its key features at the moment. I hope that the thoughtful reader will be able to form a basic picture for himself at the end of the reading and will be interested. Pay attention to the terminology, one way or another it is necessary to know, in order to communicate in understandable language. Be sure to try to interact with new languages. It is practical interaction that allows us to evaluate the advantages of a functional approach.
I consider every modern programmer to be familiar with functional programming, since it requires the use of a different principle of problem solving and allows to look differently at traditional programming methods.