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.