DEV Community

Discussion on: I want to learn functional programming: where to start?

Collapse
 
nestedsoftware profile image
Nested Software • Edited

What programming languages do you have the most experience with?

I would start by making sure to understand these basic concepts:

  • recursion
  • pure function
  • closure
  • higher-order function

Next I would look at these well-known higher-order functions:

  • map
  • filter
  • fold (aka reduce)

These are ideas that can be used in many programming languages. In particular, if you're familiar with python or javascript, all of the above topics can be understood and applied in a natural way in both of them.

Then you could go into topics that tend to be more relevant in really pure functional languages like Haskell (functors, monads, monoids, combinators...).

Collapse
 
somedood profile image
Basti Ortiz

This series by Fun Fun Function seems to be a great start in understanding the fundamental concepts of functional programming for those with a background in JavaScript. I mean, at least it surely helped me understand them.