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

Did Nintendo really forget to Optimize Super Mario 64 ? | MVG
Modern Vintage Gamer examines the claim from the Super Mario 64 decompilation project that the game shipped unoptimized, and puts it in the context of 1996 N64 development.

Building Your Own Dynamic Language
Ian Piumarta's 2007 Stanford EE380 lecture on building a dynamic programming environment from the ground up, from the Viewpoints Research Institute's work.

Anders Hejlsberg on Modern Compiler Construction
Anders Hejlsberg whiteboards how compilers are taught versus how modern ones are actually built.

CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."
Chandler Carruth's CppCon 2016 talk tries to defuse the heated debate over undefined behavior in C and C++.

CheerpX: a WebAssembly-based x86 virtual machine in the browser, Yuri Iozzelli
A talk by Yuri Iozzelli at a WebAssembly meetup on CheerpX, an x86 virtual machine running in the browser.

C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”
Matt Godbolt, creator of Compiler Explorer, tours surprising optimizations modern compilers perform, such as turning loops into closed-form sums and using popcount instructions.

Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019
Sasa Juric explains how to parse a language from first principles without regexes, live-coding a simple parser combinator library in Elixir.

Clasp: Common Lisp using LLVM and C++ for Designing Molecules
Christian Schafmeister's Google Tech Talk on Clasp and CANDO, a Common Lisp implementation on LLVM and C++ used to design molecules, including energy minimization and force-field calculations.

ASPLOS Keynote: The Golden Age of Compiler Design in an Era of HW/SW Co-design by Dr. Chris Lattner
Chris Lattner's ASPLOS 2021 keynote on the golden age of compiler design in an era of hardware and software co-design, covering compiler infrastructure for accelerators and unifying hardware IRs.

Making R run Fast - Jan Vitek
Jan Vitek of Northeastern University gives a meetup talk on the challenges of making the R language run fast.

GopherCon 2016: The Design of the Go Assembler - Rob Pike
Rob Pike's GopherCon 2016 talk on the design of the Go assembler, explaining why Go uses a common assembly language translated to each architecture.

JSON Parser 100% From Scratch in Haskell (only 111 lines)
Tsoding live-codes a JSON parser from scratch in Haskell in about 111 lines, using only the standard library.

"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.

CUFP 2013: Julien Verlaguet, Facebook: Analyzing PHP statically
Julien Verlaguet of Facebook describes applying static analysis and type inference to a very large PHP codebase, using OCaml.

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.

Parsing JSON Really Quickly: Lessons Learned
Daniel Lemire's QCon talk on how simdjson parses gigabytes of JSON per second.

2023 LLVM Dev Mtg - Mojo 🔥: A system programming language for heterogenous computing
A 2023 LLVM Developers' Meeting keynote by Abdul Dakkak, Chris Lattner and Jeff Niu introducing Mojo, a Python-family systems language built on MLIR and LLVM for heterogeneous computing.

Browser hacking: Let's make "Cookie Clicker" playable in Ladybird!
In a long live-coding session, Andreas Kling works on making the Cookie Clicker game playable in the Ladybird browser from SerenityOS.

Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency
Go runtime contributor Dmitry Vyukov looks inside the Go scheduler, explaining how goroutines and channels are implemented.

"Pixie - A Lightweight Lisp with 'Magical' Powers" by Timothy Baldridge
Timothy Baldridge presents Pixie, a lightweight Lisp built on RPython, at Strange Loop 2015.

Psp collections: views and more by Paul Phillips
Paul Phillips, a major Scala compiler contributor, gives a long talk on Scala collections and views, using it to critique Scala's design and direction.

Oral History of Gary Davidian, part 2 of 2
Part two of a Computer History Museum oral history with Gary Davidian, covering his work on the 68000 emulator for PowerPC at Apple, Power Computing, clean-room contracting and later performance optimization work.

What's Bad About Julia | Jeff Bezanson | JuliaCon 2019
Julia co-creator Jeff Bezanson candidly lists fundamental problems with the language at JuliaCon 2019, including modularity, types and compiler latency, and how they might be solved.

Tree-sitter: a new parsing system for programming tools - GitHub Universe 2017
Max Brunsfeld of GitHub presents Tree-sitter, a parsing system for programming tools that supports incremental, error-tolerant parsing.