Software Unscripted cover image

Software Unscripted

Go and Functional Programming with Lane Wagner

Jan 6, 2024
Lane Wagner, Go backend engineer and founder of boot.dev, discusses Go's design and functional programming. Topics include the debate between tabs and spaces for indentation, advantages of functional programming languages, hierarchy of functions in functional programming, rock's concurrency story, breaking protocol and debugging in programming, function purity and IO operations in functional programming, Cgo, static compilation, and hot code loading in Go, and stateful IO in functional programming.
01:15:11

Episode guests

Podcast summary created with Snipd AI

Quick takeaways

  • Purely functional languages eliminate the need for synchronous IO and ensure functions are pure without IO side effects.
  • Purely functional languages simplify code by making all IO operations asynchronous and enabling caching and memoization of non-async functions.

Deep dives

Simplifying IO in a Purely Functional Language

In a purely functional language, all IO operations are asynchronous by default, removing the need for synchronous IO. Every function that is not async can be considered pure because async is used to handle IO operations, and therefore non-async functions do not perform any IO side effects. By avoiding the use of global variables and mutation, functions can be guaranteed to always return the same value given the same arguments. The absence of mutation also means that functions can be easily cached and memoized.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode