compilers
1:08:52JVMLS 2015 - Compilers are Databases
16K views • 11 years ago
Java
Martin Odersky's JVM Language Summit 2015 talk argues that compilers can be thought of as databases. It describes design ideas for the Scala compiler and for developer tools.
34:10Anders Hejlsberg on Modern Compiler Construction
25K views • 9 years ago
Kasper
Anders Hejlsberg whiteboards how compilers are taught versus how modern ones are actually built. He explains the shift to compilers as services with incremental, error-tolerant, IDE-oriented design, as in Roslyn and TypeScript.
Topic match · Compilers, interpreters & program analysis
1:30:03C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”
11K views • 8 years ago
CppNow
Matt Godbolt, creator of Compiler Explorer, tours surprising optimizations modern compilers perform, such as turning loops into closed-form sums and using popcount instructions. He explores what the compiler does behind the scenes.
Topic match · Compilers, interpreters & program analysis
52:21ASPLOS Keynote: The Golden Age of Compiler Design in an Era of HW/SW Co-design by Dr. Chris Lattner
52K views • 5 years ago
SiFive
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.
Topic match · Compilers, interpreters & program analysis
34:55"Outperforming Imperative with Pure Functional Languages" by Richard Feldman
98K views • 5 years ago
Strange Loop Conference
Richard Feldman explains how pure functional languages can match or beat imperative ones on performance. Compilers can turn immutable code into in-place mutation, avoiding naive copying. The talk draws on his work on the Roc language.
Topic match · Compilers, interpreters & program analysis
50:43Pacific Northwest Scala 2013 We're Doing It All Wrong by Paul Phillips
65K views • 13 years ago
Confreaks
Paul Phillips, a former Scala core contributor, argues after moving a million lines of code that much of what the software industry does is wrong. He critiques Scala and compiler design and calls for better approaches.
Topic match · Compilers, interpreters & program analysis
1:33:022013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++
34K views • 13 years ago
CppNow
Chandler Carruth's CppNow 2013 keynote on how C++ builds complex software from simple emergent structures, and how compilers optimize them through inlining and value semantics.
Topic match · Compilers, interpreters & program analysis
2:03:12Co-dfns Live Stream: Compiler Design and Architecture
21K views • 9 years ago
Aaron Hsu (arcfide)
A two-hour live stream in which Aaron Hsu explains the architecture, design history and aesthetic of Co-dfns, his parallel APL compiler. He walks through the code and the reasoning behind its dense style.
Topic match · Compilers, interpreters & program analysis
1:12:02Java on a 1000 Cores - Tales of Hardware / Software CoDesign
23K views • 17 years ago
Google TechTalks
Cliff Click of Azul Systems gives a Google Tech Talk on running Java business applications on a machine with about a thousand cores. He covers hardware and software codesign, including garbage collection hardware and the JIT.
Topic match · Compilers, interpreters & program analysis
1:15:09Cliff Click @ VMSS16: Bits of Advice For the VM Writer
4K views • 10 years ago
softdevteamuk
Cliff Click, author of HotSpot's JIT compiler, shares hard-won advice for people writing virtual machines at the VMSS16 workshop. Topics include interpreters, JITs and performance lessons.
Topic match · Compilers, interpreters & program analysis
1:19:57Simon Peyton Jones: Data Parallel Haskell
28K views • 16 years ago
nuACM
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.
Topic match · Compilers, interpreters & program analysis
1:04:48"Performance (Really) Matters" with Emery Berger
7K views • 6 years ago
Association for Computing Machinery (ACM)
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. He presents tools that evaluate performance more reliably.
Topic match · Compilers, interpreters & program analysis
1:14:32Building Your Own Dynamic Language
21K views • 18 years ago
Stanford
Ian Piumarta's 2007 Stanford EE380 lecture on building a dynamic programming environment from the ground up, from the Viewpoints Research Institute's work. It covers the design of a language and system with a recursive design, parsing through code generation, and the COLA architecture.
Topic match · Compilers, interpreters & program analysis
57:39CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."
94K views • 10 years ago
CppCon
Chandler Carruth's CppCon 2016 talk tries to defuse the heated debate over undefined behavior in C and C++. He explains from the compiler writer's perspective why UB exists and how it enables optimization.
Topic match · Compilers, interpreters & program analysis
1:21:39Making R run Fast - Jan Vitek
860 views • 10 years ago
John O'Neill
Jan Vitek of Northeastern University gives a meetup talk on the challenges of making the R language run fast. He explains what in R's semantics makes it hard to optimize and to build a JIT compiler for.
Topic match · Compilers, interpreters & program analysis
49:482023 LLVM Dev Mtg - Mojo 🔥: A system programming language for heterogenous computing
61K views • 2 years ago
LLVM
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.
Topic match · Compilers, interpreters & program analysis
1:02:44Chris Seaton @ VMSS16: JRuby+Truffle: Why it’s Important to Optimise the Tricky Parts
5K views • 10 years ago
softdevteamuk
Chris Seaton talks about JRuby+Truffle, explaining how the Truffle and Graal combination optimises the tricky parts of Ruby and why it outperforms other Ruby implementations.
Topic match · Compilers, interpreters & program analysis
44:382017 LLVM Developers’ Meeting: “Implementing Swift Generics ”
21K views • 9 years ago
LLVM
Swift compiler engineers explain how Swift implements generics using dictionary-passing with reified type metadata. They compare it with Java-style uniform representation and C++ or Rust monomorphization.
Topic match · Compilers, interpreters & program analysis
1:14:51Lisp at the Frontier of Computation, by Robert Smith at Rigetti Computing
16K views • 8 years ago
Arthur Gleckler
Robert Smith of Rigetti Computing talks at a Bay Area Lisp and Scheme meetup about using Common Lisp for quantum computing. He covers the technical, sociological and psychological sides of working across disciplines.
Topic match · Compilers, interpreters & program analysis
2:02:18The Mill CPU Architecture – The Compiler (10 of 13)
12K views • 11 years ago
Mill Computing, Inc.
A long Mill Computing lecture on the Mill CPU's compiler toolchain, covering the specializer that targets family members, scheduling and latency passes, and the belt. It explains how the compiler handles a wide-issue, exposed-pipeline design.
Topic match · Compilers, interpreters & program analysis
1:00:54GoingNative 2012 - Day 2 - Clang
13K views • 13 years ago
aghuttun
Chandler Carruth's GoingNative 2012 talk on Clang, covering how the compiler helps defend C++ code from mistakes. It makes the case for Clang's diagnostics and tooling.
Topic match · Compilers, interpreters & program analysis
40:48Andy Keep - Writing a Nanopass Compiler
29K views • 12 years ago
ClojureTV
Andy Keep's Clojure/Conj talk on writing a nanopass compiler, built from many single-task passes with formally defined intermediate languages. It covers the framework's origins in a compiler teaching course at Indiana University.
Topic match · Compilers, interpreters & program analysis
1:01:40Demo: Implicit Context
28K views • 11 years ago
Jonathan Blow
Jonathan Blow gives a formal, hour-long demo of his Jai compiler focused on the implicit context feature. The context carries things like allocators through a program without explicit parameter passing, and the talk walks through the code.
Topic match · Compilers, interpreters & program analysis
26:012018 LLVM Developers’ Meeting: C. Schafmeister “Lessons Learned Implementing Common Lisp with LLVM”
61K views • 7 years ago
LLVM
Christian Schafmeister presents lessons from six years of implementing Clasp, a Common Lisp compiler using LLVM as its backend that interoperates with C++. He explains handling a dynamic, memory-managed language on LLVM.
Topic match · Compilers, interpreters & program analysis
1:21:25Let's prototype a JavaScript JIT compiler!
49K views • 3 years ago
Andreas Kling
Andreas Kling live-codes a prototype JavaScript JIT compiler for the LibJS engine used in SerenityOS and Ladybird. He builds a standalone bytecode VM, a simple interpreter, and then a simple JIT in about 80 minutes.
Topic match · Compilers, interpreters & program analysis
40:332016 LLVM Developers’ Meeting: D. Dunbar “A New Architecture for Building Software”
7K views • 9 years ago
LLVM
Daniel Dunbar of Apple presents llbuild, a framework for building build systems, at the 2016 LLVM Developers' Meeting. He argues that the traditional way C compilers integrate with build systems limits compile speed, and proposes a new architecture.
Topic match · Compilers, interpreters & program analysis
57:38Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming
52K views • 11 years ago
Google TechTalks
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. It covers the chemistry, automatic differentiation for force fields, and how the compiler is built.
Topic match · Compilers, interpreters & program analysis
46:19Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas
81K views • 11 years ago
Adrian Crenshaw
Christopher Domas's Derbycon 2015 talk on the M/o/Vfuscator, a compiler that emits only x86 mov instructions, showing mov is Turing complete. It explains how a full machine is built from mov and why the output is a nightmare to reverse engineer.
Topic match · Compilers, interpreters & program analysis
1:01:45A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter)
26K views • 7 years ago
David Beazley
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. It requires no prior WebAssembly knowledge.
Topic match · Compilers, interpreters & program analysis
54:53Miguel de Icaza: Swift Godot: Fixing the Multi-million dollar mistake #GodotCon2023
27K views • 3 years ago
Godot Engine
Miguel de Icaza's GodotCon 2023 talk on Swift bindings for Godot. He argues that garbage-collector pauses in C# are a persistent problem and that Swift's reference counting avoids them.
Topic match · Compilers, interpreters & program analysis
1:56:07Eric Bier Demonstrates Cedar
8K views • 7 years ago
Computer History Museum
Eric Bier, a PARC research scientist, demonstrates the Cedar integrated programming environment and language, an evolution of Mesa from Xerox PARC. The demo shows the Tioga editor, garbage collection, and a full graphical workstation environment.
Topic match · Compilers, interpreters & program analysis
52:38A JVM Does That?
80K views • 15 years ago
Google TechTalks
Cliff Click of Azul Systems asks what a JVM is supposed to do, in a Google Tech Talk from 2011. He covers the services a JVM provides, such as garbage collection and compilation, and the messy reality beneath the abstractions.
Topic match · Compilers, interpreters & program analysis
38:38"Tree-sitter - a new parsing system for programming tools" by Max Brunsfeld
63K views • 8 years ago
Strange Loop Conference
Max Brunsfeld introduces Tree-sitter, a parsing system for developer tools that offers incremental parsing and robust error recovery through a uniform C API. The talk explains the design, based on LR extended to GLR parsing.
Topic match · Compilers, interpreters & program analysis
1:20:29Stanford Seminar - Google's Steve Yegge on GROK
30K views • 14 years ago
Stanford Online
Steve Yegge's Stanford seminar on GROK, Google's internal large-scale, cross-language source code analysis system. It covers how the system helps with code search and understanding across Google's huge codebase.
Topic match · Compilers, interpreters & program analysis
48:36Matt Might - Winning the War on Error Solving the Halting Problem and Curing Cancer
9K views • 9 years ago
Curry On!
Matt Might's Curry On talk on ending errors in code, both software and the human genome. He covers conservative approximation of the halting problem via static analysis and a computational approach to precision medicine.
Topic match · Compilers, interpreters & program analysis
25:52Halide Talk
53K views • 12 years ago
Andrew Adams
Andrew Adams, a Halide developer, presents the Halide language for image processing and tensor computation. The talk explains the separation of algorithm from schedule with illustrated examples of parallelism, locality and redundancy tradeoffs.
Topic match · Compilers, interpreters & program analysis
1:10:11Self and Self: Whys and Wherefores
30K views • 16 years ago
Stanford
David Ungar of IBM Research reflects at Stanford on the Self language project and argues the real legacy of ideas is the people. He covers its history, philosophy, successes and failures.
Topic match · Compilers, interpreters & program analysis
37:11CheerpX: a WebAssembly-based x86 virtual machine in the browser, Yuri Iozzelli
7K views • 6 years ago
WebAssembly NA
A talk by Yuri Iozzelli at a WebAssembly meetup on CheerpX, an x86 virtual machine running in the browser. It uses a JIT compiler that emits WebAssembly at runtime to run real native applications. It covers the architecture and demos such as porting a multiplayer C++ game.
Topic match · Compilers, interpreters & program analysis
1:10:16Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019
6K views • 7 years ago
WebCamp Zagreb
Sasa Juric explains how to parse a language from first principles without regexes, live-coding a simple parser combinator library in Elixir. It was given at WebCamp Zagreb 2019.
Topic match · Compilers, interpreters & program analysis
47:41"Programming Should Eat Itself" by Nada Amin
43K views • 12 years ago
Strange Loop Conference
Nada Amin's Strange Loop talk on programming languages that build on themselves, centered on towers of interpreters and nestable interpretation in Scheme. She shows how interpreters can be stacked and collapsed.
Topic match · Compilers, interpreters & program analysis