Functional Programming explained to my grandma


Functional programming explained to my grandma

Hands-on part of the talk "Functional programming explained to my grandma".

  • Let's discover Scala by the functional programming approach
  • Requirements: Basic knowledge of Computer Science, Java programming can help you (but it's not mandatory)
  • What will I learn? What functional programming is and the useful tools that you can use in your everyday work

Improve this content

The full source code of this course GitHub can be found here, please feel free submit a PR with proposals to improve it.

What is Functional Programming?

Functional Programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.

In functional code, the output value of a function depends only on the arguments that are passed to the function. Therefore, calling a function f twice with the same value for argument x will produce the same result f(x) each time. It is the notion of Pure function.

These functions are easily composable (associated). It's an elegant way to design software.

As functional programming has no side effects, it's an excellent way to design program who need multithreading and scalability.

Create your playground on
This playground was created on, our hands-on, knowledge-sharing platform for developers.
Go to