What the Functional? What, How and Why
NDC Sydney 2017
We spend a lot of time building our libraries and applications. They can get complex, and feel like they can get out of control. Functional Programming is an approach that lets us zoom in and stay focused on small parts of a codebase at a time.
We’ll dig down into what Functional Programming (FP) is, where things like “immutability”, “effects as values” and “functional-style” code come from, and what practical benefit it all has.
This talk will demonstrate you can do FP in pretty much any language, and will be illustrated with real examples from JavaScript and a smattering of other languages. Some experience with at least one language, though, is about all you’ll need to follow along.
This talk was given at NDC Sydney 2017.
Some good jumping-off points for further reading:
- Reginald Braithwaite’s “JavaScript Allongé”
- @getify’s “Functional-Light JavaScript”
- @drboolean’s “Mostly Adequate Guide to Functional Programming”
- Sanctuary, Folktale and Ramda
- Fluture, with examples: Spotify/Youtube linker, Twitter Bulk-Unblocker
- The massive Awesome FP JS list.
- The Haskell Pyramid (appears with credit as the “FP Pyramid”)