Share

Software Unscripted
Jonathan Blow on Programming Language Design
Jonathan Blow, creator of popular games Braid and The Witness, talks with Richard about programming language design - including the design of the programming language he's been building for game developers.
Keynote & Tech Demo - https://youtu.be/IdpD5QIVOKQ
ECS and Rust's Borrow Checker - https://youtu.be/4t1K66dMhWk
"The 30 Million Line Problem" - https://youtu.be/kZRE7HIO3vk
"A New Programming Language for Games" - https://youtu.be/TH9VCN6UkyQ?si=Z5cqazo4QU7AibzB
Roc Programming Language - https://roc-lang.org
Casey Muratori's "Performance-Aware Programming" Course - https://www.computerenhance.com/p/welcome-to-the-performance-aware
File Pilot File Explorer - https://filepilot.tech/
Ghostty Terminal - https://ghostty.org/
Language Server Protocol - https://microsoft.github.io/language-server-protocol/
WebAssembly Integer Sizes - https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Numeric/Const
Cliff Click's Sea of Nodes Compiler IR - https://github.com/SeaOfNodes/
Chapters
00:00 The Programming Establishment
02:04 Metaprogramming
05:04 Compile-Time Execution
08:05 Language Feature Interoperability
10:53 Compile Time Execution
27:52 Cross-Compiling and FFI
31:04 Determinism in Programming
35:07 Balancing Power and Safety
40:11 Memory Safety vs. Performance
50:15 The Evolution of Software Performance
55:32 Performance Awareness
01:03:56 Dependencies and Version Control
01:14:54 Dependency Availability Risk
01:18:42 Memory Management
01:24:51 Sandboxing
01:30:23 Operating Systems
More episodes
View all episodes

Zig Creator Andrew Kelley
01:49:14|Richard talks with Zig Creator Andrew Kelley.- Support Zig - https://ziglang.org/zsf/- Zig's "Writergate" - https://ziglang.org/download/0.15.1/release-notes.html#Writergate- "What Color is Your Function?" by Robert Nystrom - https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/- "Asynchrony is not Concurrency" by Loris Cro - https://kristoff.it/blog/asynchrony-is-not-concurrency/- "Data alignment for speed: myth or reality?" by Daniel Lemire - https://lemire.me/blog/2012/05/31/data-alignment-for-speed-myth-or-reality/
Securing Evolving Software with Noah Hall
59:50|xz vulnerability: https://en.wikipedia.org/wiki/XZ_Utils_backdoorSpectre: https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)Meltdown: https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)Heartbleed: https://en.wikipedia.org/wiki/HeartbleedNoah on GitHub https://github.com/eeue56 - Substack https://substack.com/@eeue56 - BlueSky https://bsky.app/profile/derw-lang.com
Andreas Kling on Ladybird Browser, SerenityOS, and Powerlifting
01:20:08|Ladybird Browser - https://ladybird.orgSerenityOS - https://serenityos.orgStory of the man who used powerlifting to recover after falling off a roof https://startingstrength.com/articles/brian_jones_story.pdfStrongLifts 5x5 - https://stronglifts.com/stronglifts-5x5/Starting Strength - https://startingstrength.com/
109. GPU Programming and Language Design with Chris Lattner
01:18:49||Ep. 109Richard talks with Swift, LLVM, Clang, and Mojo creator Chris Lattner about programming on the GPU and on the CPU, as well as a number of programming language design topics.Chris's "Democratizing AI Compute" blog series - https://www.modular.com/blog/democratizing-compute-part-1-deepseeks-impact-on-aiMojo https://www.modular.com/mojoRoc https://www.roc-lang.orgSoftware Unscripted episode with Futhark language creator https://pod.link/1602572955/episode/00564b1774ebe0e4225a630825ed3deeClaude 4 https://www.anthropic.com/news/claude-4
108. Broken AI Discourse with Steve Klabnik
01:19:43||Season 1, Ep. 108Longtime Rust contributor Steve Klabnik talks with Richard about the broken state of AI discourse, from excessive hype to excessive hate, and reasonable alternatives we could pursue instead.Steve's blog post: "I am disappointed in the AI discourse" - https://steveklabnik.com/writing/i-am-disappointed-in-the-ai-discourse/Deep dive into why Rust's compile times are slow: https://www.pingcap.com/blog/rust-compilation-model-calamity/Y Combinator partners on "100x productivity" claims: https://www.youtube.com/watch?v=IACHfKmZMr8&t=155s
107. Language Design Deep Dive with Elixir Creator José Valim
02:26:12||Season 1, Ep. 107Elixir creator José Valim goes into a very deep dive on language design with Richard, centered around some upcoming major design changes to the Roc programming language.- https://elixir-lang.org- https://roc-lang.org- Unison's algebraic effects: https://www.unison-lang.org/docs/fundamentals/abilities/- Koka's algebraic effects: https://koka-lang.github.io/koka/doc/book.html#why-effects- OCaml's algebraic effects: https://ocaml.org/manual/5.3/effects.html
106. From Scala to Roc with Monica McGuigan
01:07:42||Season 1, Ep. 106Monica McGuigan, a Scala programmer at JP Morgan, talks with Richard about her experiences learning Roc with a Scala background. They get into topics like how language design affects beginners and experts, what parts of functional programming are easier and harder to learn than others, and how language designers inform their design decisions.Support Software Unscripted on Patreon: https://patreon.com/SoftwareUnscriptedMonica's chapter on JSON decoders: https://github.com/roc-lang/book-of-examples/pull/68Grapheme clusters: https://unicode.org/glossary/#extended_grapheme_clusterRoc's string operations: https://www.roc-lang.org/builtins/StrTalk: The Functional Purity Inference Plan: https://youtu.be/42TUAKhzlRI?si=TwxYoqMgh0UXQLfn
105. Testing in Production with Mike Bryzek
01:17:50||Season 1, Ep. 105Mike Bryzek has been a technical cofounder of two very successful companies using some very unorthodox technical strategies that have worked out very well for him and his teams! These include testing in production, spending the first few months of a brand-new company's life investing in automation and tooling before shipping a product, and microservices - but not done in the way I've usually heard them described.Support Software Unscripted on Patreon: https://patreon.com/SoftwareUnscripted