Best Programming language design Videos
「Programming language design」下面有193部被不同的人、在不同月份推荐过的视频。挑的时候先看对象:入门15部,适合还没学过的人;进阶107部,适合已经懂术语的人;普通向21部,按兴趣就能看;更硬的50部,留给想看推导或细节的人。这一类数量最多的是演讲,所以它们的共同点是一位讲者把一个判断讲完,例子是为了撑住这个判断。常出现的频道包括Strange Loop Conference、ClojureTV、Google TechTalks。目录给这个主题划的范围是:Programming language design: language semantics, type systems, type theory, syntax, language features, Jai, Haskell type classes, Rust design, language history, why languages succeed or fail.如果只看三部,就从《How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework》开始,它负责把问题讲出画面;然后看《Why Isn't Functional Programming the Norm? – Richard Feldman》,换一种讲法或例子;最后看《Maybe Not - Rich Hickey》,留给已经有基础的人。页面按每页24部切开,顺序看的是被推荐跨越了多少个月,不是播放量。每条标题下面那一句是这部片子自己的内容说明,用来区分它在讲定义、过程、演示还是观点。点进去能看到推荐原话、原文链接和适合谁看。看的时候把强烈推荐当成有人明确叫你去看,把引用当成只是拿来举例,把批评留下来对照,不要把每条评论都当成同一力度。

MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk
Noel Rappin's MountainWest RubyConf talk introduces Smalltalk to Ruby programmers.

ElixirConf 2023 - José Valim - The foundations of the Elixir type system
José Valim's ElixirConf US 2023 closing keynote on the foundations of the Elixir type system, covering set-theoretic types and gradual typing with strong arrows.

Procedural Programming: It Never Went Away — Kevlin Henney | Build Stuff
Kevlin Henney argues that procedural programming never went away despite later paradigms such as OO and functional.

#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers
Jonathan Blow talks at Gamelab 2018 about the design decisions behind Jai, the programming language he is building for game programmers.

Does APL Need a Type System? by Aaron W Hsu at #FnConf18
Aaron Hsu's FnConf18 talk asks whether APL needs a static type system.

Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 2020
Zig creator Andrew Kelley's RedisConf 2020 talk on modeling data flow with asynchronous I/O in Zig.

Origins of Go Concurrency style by Rob Pike
Rob Pike's 2010 talk at OSCON's Emerging Languages Camp on where Go's concurrency style comes from.

CppCon 2017: Herb Sutter “Meta: Thoughts on generative C++”
At CppCon 2017 Herb Sutter presents his work on evolving C++ through compile-time code generation, including metaclasses and reflection.

Rant: Entity systems and the Rust borrow checker ... or something.
Jonathan Blow's hour-long livestreamed response to a RustConf 2018 closing keynote about entity systems in Rust.

miniKanren - Dan Friedman and William Byrd
Dan Friedman and William Byrd demonstrate miniKanren, a logic programming system for Scheme, in an unconference talk.

OSCON 2010: Rob Pike, "Public Static Void"
A 13-minute OSCON 2010 talk in which Rob Pike argues about what is wrong with mainstream languages like C++, Java and C#, and presents Go as a response.

"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell
Stephen Kell's Strange Loop talk argues that C and Unix already contain Smalltalk-like dynamism and introspection that can be exposed.

"Programming Should Eat Itself" by Nada Amin
Nada Amin's Strange Loop talk on programming languages that build on themselves, centered on towers of interpreters and nestable interpretation in Scheme.

Badness 0 (Apostrophe‛s version)
Tom 7's pilot episode of a series that plays with type systems and absurd programming, presented as a parody of the GPL v3 license.

"Swift as C++ Successor in FoundationDB" by Konrad Malawski (Strange Loop 2023)
Konrad Malawski's Strange Loop 2023 talk shows how the FoundationDB team adopted Swift incrementally in a C++ codebase.

High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18
Aaron Hsu shows how to manipulate and transform tree data in APL using arrays and inverted tables instead of pointers.

The Joy of Programming in Jai - Part 1: Hello World
The first part of a series on programming in Jai, Jonathan Blow's in-development language.

Introducing a Memory-Safe Successor Language in Large C++ Code Bases - John McCall - CppNow 2023
John McCall of Apple's Swift team presents at CppNow 2023 on introducing a memory-safe successor language into large C++ code bases.

Chris Lattner: Future of Programming and AI | Lex Fridman Podcast #381
Lex Fridman's long podcast conversation with Chris Lattner, creator of Swift, LLVM and MLIR and co-founder of Modular.

Crust of Rust: Lifetime Annotations
In this first Crust of Rust episode, Jon Gjengset live-codes an example that needs multiple explicit lifetime annotations.

Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic language
Simon Peyton Jones presents linear types for Haskell, showing how practical linearity can fit into a higher-order polymorphic language.

“What is Success?” by Evan Czaplicki
Elm creator Evan Czaplicki's 2018 Elm Europe talk on how to define success for an open source project and language community.

Introduction to Julia - Part 1 | SciPy 2014 | David Sanders
David Sanders gives the first part of a two-part introduction to the Julia programming language at SciPy 2014.

Effective ML
Yaron Minsky of Jane Street gave this talk to Harvard's OCaml-based CS51 class in 2010.