Best Functional programming Videos
The 225 Functional programming videos here were recommended by different people across different months. Choose by who it is for: 24 introductory, 137 intermediate, 18 for a general viewer, and 46 for someone who wants the harder derivation. Most of them are a talk. What they share is that one speaker finishes a claim, and the examples exist to hold that claim up. Channels you will keep seeing include ClojureTV, Strange Loop Conference, Google TechTalks.

Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Jim Weirich's RubyConf 2012 talk derives the Y combinator step by step, live-coding in Ruby lambdas.

The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
Sasa Juric explains what makes Erlang and Elixir suited to server-side systems, focusing on the BEAM concurrency model rather than syntax or ecosystem.

"Simple Made Easy" - Rich Hickey (2011)
Rich Hickey's Strange Loop 2011 keynote distinguishing 'simple' (not intertwined) from 'easy' (familiar or near at hand).

"Making Impossible States Impossible" by Richard Feldman
Richard Feldman's elm-conf talk on designing models so that bugs from impossible application states cannot occur, using Elm's compiler and types.

William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
William Byrd presents at Papers We Love NYC on what he calls the most beautiful program ever written, a Lisp interpreter written in Lisp.

The Value of Values with Rich Hickey
Rich Hickey's JaxConf 2012 keynote examines what values are and why immutable values matter as information systems grow more complex and data gets bigger.

Why Isn't Functional Programming the Norm? – Richard Feldman
Richard Feldman argues that functional programming is not the norm largely because of historical accidents, such as C++ popularity, platform exclusivity, marketing spend and network effects, rather than merit.

Maybe Not - Rich Hickey
Rich Hickey's Clojure/Conj 2018 keynote argues that Maybe/Option types and rigid type signatures are a poor way to model data that changes over time.

Solving Problems the Clojure Way - Rafal Dittwald
Rafal Dittwald's Clojure/north talk shows how to move from writing Java-style code in Clojure to thinking in data-driven, functional terms.

Lecture 1A: Overview and Introduction to Lisp
The first lecture of MIT's 6.001 (SICP) with Abelson and Sussman, giving an overview of the course and an introduction to Lisp.

Conway's Game Of Life in APL
A short Dyalog demonstration building Conway's Game of Life in a single line of APL, step by step.

Lecture 1A | MIT 6.001 Structure and Interpretation, 1986
The first lecture of MIT's 1986 6.001 Structure and Interpretation of Computer Programs, given by Harold Abelson, introducing Lisp and the idea of computer science as the study of process.

Effective Programs - 10 Years of Clojure - Rich Hickey
Rich Hickey's talk at Clojure's tenth anniversary on the kind of programs Clojure is designed for.

Erlang Factory 2014 - That's 'Billion' with a 'B': Scaling to the Next Level at WhatsApp
Rick Reed of WhatsApp explains at Erlang Factory 2014 how the service scaled to billions of messages with a very small engineering team.

Hammock Driven Development - Rich Hickey
Rich Hickey's philosophical talk from the first Clojure Conj in 2010.

Tim Ewald - Clojure: Programming with Hand Tools
Tim Ewald's Clojure/conj talk uses furniture making with hand tools versus machine tools as an allegory for software.

Brian Beckman: Don't fear the Monad
Microsoft's Brian Beckman gives an hour-long, whiteboard-style walk through monads, building from function composition and monoids using school-level math.

Ruby Conf 12 - Boundaries by Gary Bernhardt
Gary Bernhardt's RubyConf 2012 talk on testing in isolation without mocking everything.

Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming
Christian Schafmeister's Google Tech Talk on designing spiroligomer molecules and building Clasp, a Common Lisp on LLVM that interoperates with C++, to program molecular design.

"Simple Made Easy" - Rich Hickey (2011)
Rich Hickey's Strange Loop 2011 keynote separates 'simple' (not intertwined) from 'easy' (familiar or near at hand) and argues that software complexity comes from complecting things.

Spec-ulation Keynote - Rich Hickey
Rich Hickey's keynote on software versioning, arguing that breaking changes are the real problem and that libraries should only grow by providing more and requiring less.

Category Theory 1.1: Motivation and Philosophy
The first lecture in Bartosz Milewski's category theory series for programmers.

The Language of the System - Rich Hickey
Rich Hickey's 2013 talk applies language-design thinking to whole systems, covering names, queues, data, failure, and the interfaces between programs.

Invited Talk - Guy Steele
Guy Steele's invited talk at Clojure/conj on the informal metanotation computer scientists use in papers to describe languages.