Listen "4: Functional Programming - You're probably already doing it"
Episode Synopsis
People throw around the term Functional Programming but it's not always clear what they mean. In this episode, Wolf explains what goes into FP, and together we build a clearer picture that reveals you might already be doing it.Show notes and things to think about:Functional programing isn't academic. It isn't overwhelming. It isn't impossible to use. It isn't inapplicable to ordinary problems like the ones you're solving right now.You can use functional techniques in almost any modern programming language. In fact, you probably already are.Main pillars of FP:Pure functions (no side-effects)Functions are first-class objects (you can pass them as arguments, you can return them as results, you can store them in lists or any other data-structure)Data is immutable by defaultFP languages often provide powerful pattern matching syntax (didn't mention this much in the episode other than briefly noting Python's new match statement)A couple of things not mentioned: in FP, your code is more about what you want, not about how to get it. That stack of functions for the sales data example looks declarative, not imperative.A couple of other things not mentioned: recursion and lazy evaluation. Not exclusive to FP, but very often available in functional languages.Papers and explanations about monads might be unreadable, but you're already using them and you already know how they work.Using FP techniques appropriately can make your code easier to test, harder to break, and possibly even prettier to look at.There are places in your code right now that you can make better right now with FP. Do it!Links:We mentioned a ton of languages. Most of them have easy to find home pages so I'm not going to list out all the links; but there are a couple of obscure onesThere's nothing for the original Lisp, the closest these days is probably https://common-lisp.net.ML can be found at https://sml-family.org but the more modern and popular variant, OCaml, can be found at http://ocaml.org. Microsoft's take on this is F#, open-sourced at https://fsharp.org.Hosts:Jim McQuillan can be reached at [email protected] can be reached at [email protected] us on Mastodon: @[email protected] you have feedback for us, please send it to [email protected] music:Dawn by nuer self, from the album Digital Sky
More episodes of the podcast Runtime Arguments
18: The one where Jim asks Wolf questions
27/12/2025
14: You are NOT Google
01/11/2025
13: Terminals: Talking to the machine
18/10/2025
12: GPUs - Can I, Should I, and How?
04/10/2025
11: IPv6 - Size really does matter
20/09/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.