Best Functional programming Videos
「Functional programming」下面有225部被不同的人、在不同月份推荐过的视频。挑的时候先看对象:入门24部,适合还没学过的人;进阶137部,适合已经懂术语的人;普通向18部,按兴趣就能看;更硬的46部,留给想看推导或细节的人。这一类数量最多的是演讲,所以它们的共同点是一位讲者把一个判断讲完,例子是为了撑住这个判断。常出现的频道包括ClojureTV、Strange Loop Conference、Google TechTalks。目录给这个主题划的范围是:Functional programming: Haskell, OCaml, Clojure, Erlang, Elixir, Scala, Lisp, Scheme, immutability, monads, purity, pattern matching, Rich Hickey, Simon Peyton Jones.如果只看三部,就从《Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich》开始,它负责把问题讲出画面;然后看《The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019》,换一种讲法或例子;最后看《"Simple Made Easy" - Rich Hickey (2011)》,留给已经有基础的人。页面按每页24部切开,顺序看的是被推荐跨越了多少个月,不是播放量。每条标题下面那一句是这部片子自己的内容说明,用来区分它在讲定义、过程、演示还是观点。点进去能看到推荐原话、原文链接和适合谁看。看的时候把强烈推荐当成有人明确叫你去看,把引用当成只是拿来举例,把批评留下来对照,不要把每条评论都当成同一力度。

"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki
Evan Czaplicki's Strange Loop 2014 talk surveys the many formulations of functional reactive programming and how they relate historically and theoretically.

A Sudoku Solver in APL
A Dyalog demonstration of developing a Sudoku solver in APL, using an algorithm by Arthur Whitney with performance work by John Scholes.

Simplicity Ain't Easy - Stuart Halloway
Stuart Halloway argues that simplicity is objective, with a definition and etymology useful to programmers, rather than a subjective buzzword.

Clojure Concurrency - Rich Hickey
Rich Hickey's long presentation on Clojure and concurrency covers locking and immutability, then goes in depth on refs, transactions and agents.

Factor: an extensible interactive language
A 2008 Google Tech Talk in which Slava Pestov introduces Factor, a concatenative language influenced by Forth, Lisp and Smalltalk.

"Shen: A Sufficiently Advanced Lisp" by Aditya Siram
Aditya Siram introduces Shen, a small hosted Lisp with macros, a built-in Prolog and an optional type system.

ElixirConf 2018 - Docker and OTP Friends or Foes - Daniel Azuma
Daniel Azuma's ElixirConf 2018 talk on whether Docker and OTP conflict.

GigCityElixir23 - Bryan Hunter
Bryan Hunter's GigCityElixir 2023 talk on HCA Healthcare's Waterpark system, built on Elixir/Erlang.

"Outperforming Imperative with Pure Functional Languages" by Richard Feldman
Richard Feldman explains how pure functional languages can match or beat imperative ones on performance.

Pure Functional Programming in Excel • Felienne Hermans • GOTO 2016
Felienne Hermans argues that Excel is the world's most popular programming language and shows how spreadsheets work as a pure functional language.

Zach Tellman - Everything Will Flow
Zach Tellman's Clojure West talk covers the basics of queueing theory and its practical use in systems, including backpressure, how queues break down under load, and pitfalls of naive core.async use.

Constraints Liberate, Liberties Constrain — Runar Bjarnason
Runar Bjarnason's Scala World talk argues that restraint and precision in components beat power and flexibility.

Are We There Yet - Rich Hickey
Rich Hickey's talk on time, state, identity and values, arguing that mutable object-oriented modeling fits the world poorly.

Ruby Manor 3 - Programming with Nothing by Tom Stuart
Tom Stuart's Ruby Manor 3 talk builds FizzBuzz using nothing but Ruby lambdas, working through Church encodings of numbers, booleans and data structures.

Hacker Way: Rethinking Web App Development at Facebook
Facebook engineers explain why they abandoned the traditional MVC paradigm for a more functional architecture, introducing Flux and React.

Symbolics Lisp Machine demo Jan 2013
Symbolics developer Kalman Reti gives a short introductory demo of a Symbolics Lisp Machine running Genera in an emulator.

David Beazley - Lambda Calculus from the Ground Up - PyCon 2019
David Beazley's PyCon 2019 tutorial derives the lambda calculus from the ground up in Python, using only single-argument functions.

Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey
Simon Peyton Jones gives Churchill College's annual computer science lecture on Haskell's birth and evolution.

clojure.core/typing - Matt Adereth
Matt Adereth's Clojure/conj talk covers the history of keyboards and how he used Clojure generating OpenSCAD to design and build his custom Dactyl ergonomic keyboard, including 3D printing and laser-cut parts.

John Carmack's keynote at Quakecon 2013 part 4
Part 4 of John Carmack's QuakeCon 2013 keynote, covering OpenGL, functional programming, Haskell, Lisp and Scheme, typing, multithreading, events and garbage collection.

On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]
Shriram Krishnamurthi's PWLConf 2019 talk on the formal notion of expressive power of programming languages, based on Felleisen's paper.

"We Really Don't Know How to Compute!" - Gerald Sussman (2011)
Gerald Sussman's 2011 Strange Loop keynote argues we still do not know how to compute, comparing biological systems with how we program machines.

React.js Conf 2015 - Immutable Data and React
Lee Byron of Facebook explains how persistent immutable data structures work and how to use them in React apps with Immutable.js.

Stuart Halloway - Narcissistic Design
Stuart Halloway's satirical talk describes how to protect yourself from industry change by spreading complexity through systems while following idiomatic practice.