Functional programming is back in vogue. There's a reason front-end frameworks like React and Vue are moving toward functional programming, and after this course you'll more than understand its benefits. We'll dive in-depth into all of the foundational concepts of functional programming in a familiar language.
Overview
Syllabus
- What is Functional Programming?
- Learn about the difference between OOP and functional styles, and what the real difference is: imperative vs declarative
- First Class Functions
- First class and higher order functions are foundational to everything we do in the functional paradigm
- Pure Functions
- My favorite part of functional programming is the focus on pure functions that are easy to test and reason about
- Recursion
- While not unique to functional programming, recursion is a powerful tool that is used often when trying to avoid imperative code
- Function Transformations
- Learn how to transform functions into other functions to write more abstract and generalized code
- Closures
- Learn about encapsulating state within functions and how to use closures to write more expressive code
- Currying
- Learn to transform a function with multiple parameters into a series of functions with one parameter, and why you might want to do that
- Decorators
- Learn about Python's decorators and how they're essentially syntactic sugar for higher order functions
- Sum Types
- Learn about sum types, a powerful way to represent data that is used in many functional languages
Taught by
Lane Wagner, Allan, Dan, Matt, and Hunter