Best Compilers, interpreters & program analysis Videos
「Compilers, interpreters & program analysis」下面有98部被不同的人、在不同月份推荐过的视频。挑的时候先看对象:入门2部,适合还没学过的人;进阶43部,适合已经懂术语的人;普通向2部,按兴趣就能看;更硬的51部,留给想看推导或细节的人。这一类数量最多的是演讲,所以它们的共同点是一位讲者把一个判断讲完,例子是为了撑住这个判断。常出现的频道包括CppCon、Google TechTalks、Strange Loop Conference。目录给这个主题划的范围是:Compilers and interpreters: parsing, building a compiler, LLVM, JIT, garbage collection, virtual machines, static analysis, abstract interpretation, optimization passes, live-coding a language.如果只看三部,就从《Rich Harris - Rethinking reactivity》开始,它负责把问题讲出画面;然后看《Lexical Scanning in Go - Rob Pike》,换一种讲法或例子;最后看《William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]》,留给已经有基础的人。页面按每页24部切开,顺序看的是被推荐跨越了多少个月,不是播放量。每条标题下面那一句是这部片子自己的内容说明,用来区分它在讲定义、过程、演示还是观点。点进去能看到推荐原话、原文链接和适合谁看。看的时候把强烈推荐当成有人明确叫你去看,把引用当成只是拿来举例,把批评留下来对照,不要把每条评论都当成同一力度。

Rich Harris - Rethinking reactivity
Svelte creator Rich Harris explains moving reactivity into the compiler and language rather than tracking state at runtime, with a history of spreadsheets as reactive systems and comparisons to React.

Lexical Scanning in Go - Rob Pike
Rob Pike shows how the Go text/template lexer is built, using state functions, goroutines and channels.

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.

CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
Jason Turner's CppCon 2016 talk builds a simple Commodore 64 game using C++17, showing how constexpr and const let a modern compiler produce tight 6502 code.

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.

Compiling C to printable x86, to make an executable research paper
Tom7 explains how he built a SIGBOVIK 2017 paper made only of printable ASCII bytes that is also a valid DOS executable.

Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas
Christopher Domas's Derbycon 2015 talk on the M/o/Vfuscator, a compiler that emits only x86 mov instructions, showing mov is Turing complete.

A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter)
David Beazley's PyCon India closing keynote, in which he live-codes a stack machine and grows it into an interpreter that runs WebAssembly, then uses it to play a Rust-written game.

Miguel de Icaza: Swift Godot: Fixing the Multi-million dollar mistake #GodotCon2023
Miguel de Icaza's GodotCon 2023 talk on Swift bindings for Godot.

CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
Matt Godbolt's CppCon 2017 talk shows what modern compilers do with your C++ code, using Compiler Explorer to inspect generated assembly.

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.

Eric Bier Demonstrates Cedar
Eric Bier, a PARC research scientist, demonstrates the Cedar integrated programming environment and language, an evolution of Mesa from Xerox PARC.

Java on a 1000 Cores - Tales of Hardware / Software CoDesign
Cliff Click of Azul Systems gives a Google Tech Talk on running Java business applications on a machine with about a thousand cores.

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

Cliff Click @ VMSS16: Bits of Advice For the VM Writer
Cliff Click, author of HotSpot's JIT compiler, shares hard-won advice for people writing virtual machines at the VMSS16 workshop.

A JVM Does That?
Cliff Click of Azul Systems asks what a JVM is supposed to do, in a Google Tech Talk from 2011.

Simon Peyton Jones: Data Parallel Haskell
Simon Peyton Jones explains nested data parallelism and Data Parallel Haskell, an approach to exploiting multicore and distributed hardware while keeping a simple single-control-flow programming model.

CppCon 2015: Herb Sutter "Writing Good C++14... By Default"
Herb Sutter's CppCon 2015 plenary on writing safe, modern C++ by default using the C++ Core Guidelines.

"Performance (Really) Matters" with Emery Berger
Emery Berger argues that performance is hard to measure and deliver on modern systems, showing how code layout and link order can swamp optimization effects.

"Tree-sitter - a new parsing system for programming tools" by Max Brunsfeld
Max Brunsfeld introduces Tree-sitter, a parsing system for developer tools that offers incremental parsing and robust error recovery through a uniform C API.

Stanford Seminar - Google's Steve Yegge on GROK
Steve Yegge's Stanford seminar on GROK, Google's internal large-scale, cross-language source code analysis system.

Matt Might - Winning the War on Error Solving the Halting Problem and Curing Cancer
Matt Might's Curry On talk on ending errors in code, both software and the human genome.

Self and Self: Whys and Wherefores
David Ungar of IBM Research reflects at Stanford on the Self language project and argues the real legacy of ideas is the people.

Halide Talk
Andrew Adams, a Halide developer, presents the Halide language for image processing and tensor computation.