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部切开,顺序看的是被推荐跨越了多少个月,不是播放量。每条标题下面那一句是这部片子自己的内容说明,用来区分它在讲定义、过程、演示还是观点。点进去能看到推荐原话、原文链接和适合谁看。看的时候把强烈推荐当成有人明确叫你去看,把引用当成只是拿来举例,把批评留下来对照,不要把每条评论都当成同一力度。

How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Armin Ronacher, creator of Flask, explains how CPython's internals and C API leak into the language's semantics.

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.

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.

Crockford on JavaScript - Volume 1: The Early Years
Douglas Crockford's first Yahoo lecture puts JavaScript in historical context.

Growing a Language, by Guy Steele
Guy Steele's 1998 OOPSLA keynote on designing a programming language that its users can grow.

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.

Brian Goetz - Stewardship: the Sobering Parts
Java Language Architect Brian Goetz talks at a Clojure conference about the challenges of evolving a mature language like Java while preserving compatibility with existing code and developer expectations.

JavaScript: The Good Parts
Douglas Crockford's 2009 Google tech talk on the good and bad parts of JavaScript, based on his book.

Ideas about a new programming language for games.
Jonathan Blow's first talk on designing a new programming language for games, which became Jai.

"Propositions as Types" by Philip Wadler
Philip Wadler's Strange Loop talk on Propositions as Types, the link between logic and computation (the Curry-Howard correspondence).

Object-Oriented Programming is Bad
Brian Will makes the case for procedural programming over object-oriented programming, arguing that OOP's promised encapsulation and decoupling are largely illusory.

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

7 minutes of Pharo Smalltalk for Rubyists
Ruby developer Avdi Grimm gives a seven-minute tour of Pharo Smalltalk's development environment, focusing on tools like search-by-example and the integrated, live coding experience.

"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)
Evan Czaplicki, creator of Elm, examines how programming languages are funded.

Julia: to Lisp or not to Lisp?
Stefan Karpinski's European Lisp Symposium 2016 talk asks whether Julia is a Lisp.

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)
Jack Rusher's Strange Loop 2022 talk argues that most programming languages are still designed around punchcard-era assumptions.

Zig: A programming language designed for robustness, optimality, and clarity – Andrew Kelley
Andrew Kelley, creator of Zig, introduces the language at the Recurse Center's Localhost series in 2018.

"Unison: a new distributed programming language" by Paul Chiusano
Paul Chiusano's Strange Loop 2019 talk introduces Unison, an open-source functional language for distributed, elastic systems.

Domain Modeling Made Functional - Scott Wlaschin
Scott Wlaschin's NDC talk on using statically typed functional programming, F# in particular, to model a business domain.

The Road to Zig 1.0 - Andrew Kelley
Zig creator Andrew Kelley justifies why Zig exists and tours its distinctive features, including C interoperability and comptime, along with what people had built and what 1.0 would bring.

"Production Prolog" by Michael Hendricks
Michael Hendricks of PriceCharting shares tricks and pain points from running Prolog in production for 18 months at Strange Loop.

Co-dfns Live Stream: Compiler Design and Architecture
A two-hour live stream in which Aaron Hsu explains the architecture, design history and aesthetic of Co-dfns, his parallel APL compiler.