[[Image]]
Recursion, which ends up being way simpler for some problems, can seem very hard for you to wrap your head around, or to follow down the recursive rabbit-hole to understand how it produces the values it does (spoiler: doing this may be a mistake).
But do not despair, I'm here to help you learn a very good framework to think recursively in any programming language and almost any problem.
Every code example will be in Scala
a programming language that combines the object-oriented and functional programming paradigms. It will be very straightforward to translate the examples from Scala to your language of choice since the syntax is very much approachable.