Functional Programming - Learning Progression

There are numerous resources and paths to learn functional programming. The objective of this process will specifically target learning terminology and fundamentals that will hopefully provide a base of knowledge that you can build on.

This will attempt to target two audiences:

  • Developers with a background in programming, but little functional programming experience
  • Developers that have a good handle on FP in daily activities, but want to improve their 'academic' basis of understanding around terminology and concepts
    • 'Level you up' with stronger fundamentals
    • Explore additional concepts and types you may not have seen before

Learning Style

There are plenty of blog articles with personal opinions around these concepts, please search out these articles to explore further.

But, this methodology will use less prose to explain concepts. Instead examples will be used to explain the concepts, to build an intuition around how they may be applied.

Additionally, examples will focus on usage in a 'business' or 'enterprise' setting. CS concepts that 'self-taught' developers will be less familiar with, will be used sparingly.