This goal provides an introduction to functional programming concepts using JavaScript and gives you the opportunity to practice these concepts with a series of reinforcement exercises from the Mostly Adequate Guide to Functional Programming and a handful of automated challenges on CodeWars.
Functional programming patterns are becoming increasingly popular in the web development community. Using these patterns results in code that is more adaptable and flexible, less buggy, and more scalable.
The article The Two Pillars of JavaScript : Pt 2: Functional Programming How to Stop Micromanaging Everything goes into many of the reasons why you might want to consider learning how to write JavaScript as a functional programmer would.
- Read the Mostly Adequate Guide to Functional Programming through Chapter 8: Tupperware
- Complete the exercises in the Mostly Adequate Guide (note: there aren't exercises after each chapter - just the ones on Ch 4: Currying, Ch: 5: Coding by Composing, and Ch: 8 Tupperware).
- Practice these concepts by completing at least 5 Functional Programming exercises on CodeWars (just a heads up: you're required to answer a couple of super basic JS questions to sign up for CodeWars). BONUS: Do more if you get through 5 exercises by the end of the cycle.
- All exercises in the Mostly Awesome Guide are completed and pushed to GitHub: 25 pts
- At least 5 exercises on CodeWars are completed: 25 pts
So You Want to Be a Functional Programmer
Eloquent JavaScript Chapter 6: Functional Programming
Ramda - similar to lodash, but for functional programming
Functors, Applicatives, And Monads In Pictures
Category Theory for Programmers (advanced)
Ramda REPL (read-evaluate-print-loop)
Professor Frisby Introduces Composable Functional JavaScript
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.