Summary: Software Unscripted with Anjana Vakil

Really enjoyed the latest episode of Software Unscripted!

Richard Feldman spoke with Anjana Vakil about teaching functional programming.

Here are my takeaways:

❓ What is functional programming?

Definitions of FP vary! Some older definitions require point-free style. Others focus on the broader use of pure functions.

Anjana helpfully defines a goal of FP as moving side effects to the boundary of your program.

🔧 FP is one tool, not the only tool

FP has its enthusiasts in the programming community.

But you don’t have to be dogmatic about FP as a “superior” way of doing programming. Not all code needs to be converted to functional style in all languages in order to be more effective.

🧑‍🏫 You don’t have to be an expert to teach FP

Anjana describes a popular Unconference talk she gave in 2016 on FP as a beginner, that resonated with a huge number of people (2.3 million views on YouTube).

So people can be very receptive to relatable lessons from a beginner!

🧠 Question teaching FP “foundations”

Academic concepts like monads and the lambda calculus don’t necessarily help students grasp FP.

Teaching these ideas as a rite of passage is not necessarily effective.

Anjana starts by helping students identify pure vs. impure functions.

🎧 Listen to the podcast here:

Thanks Software Unscripted for a great episode!


This post was originally a Twitter thread as part of Ship 30 for 30.