Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
slides
README.md

README.md

Do Monads Matter?

Functional Programming for People Who Hate Math

tl;dr

Used properly, functional programming means cleaner code, easier maintenance, and simpler testing. But most of us will never use it. Why? Because functional programming is usually explained with jargon, complex math, and some nonsense about monads or whatever. And math is hard, so most of us run away screaming. But here's the thing: functional programming doesn't actually require math. This talk explains how we can get the benefits of functional programming today — with no math required.

Longer Description

Functional programming is a game-changer. Used properly, it means:

  • Cleaner code
  • Easier maintenance
  • Simpler testing
  • More predictable software

Despite the benefits, most developers never get started with functional programming. But why?

The discussion about functional programming tends to spiral off into the mathematical stratosphere: any benefits of functional programming are buried under thick layers of unfamiliar jargon and complicated mathematical concepts like lambda calculus and monads and unary functions and composition and purity.

That's a lot of words. Math-sounding words. And math sucks, right?

As a result, most of us never learn how useful the concepts of functional programming can be. It sounds like this stuff is way over our heads — and besides, we just want to write great code, not a doctoral thesis.

But here's the thing: functional programming doesn't actually require a ton of complex math. In fact, there's no math required at all to start getting the benefits of functional programming in our projects.

In this talk, we'll take a jargon-free look at functional programming concepts, and how we can apply them today — no math required — to make our code more reliable, predictable, and maintainable.