Skip to content
Lex Fridman PodcastLex Fridman Podcast

Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #341

Guido van Rossum is the creator of Python programming language. Please support this podcast by checking out our sponsors: - GiveDirectly: https://givedirectly.org/lex to get gift matched up to $1000 - Eight Sleep: https://www.eightsleep.com/lex to get special savings - Fundrise: https://fundrise.com/lex - InsideTracker: https://insidetracker.com/lex to get 20% off - Athletic Greens: https://athleticgreens.com/lex to get 1 month of fish oil EPISODE LINKS: Guido's Twitter: https://twitter.com/gvanrossum Guido's Website: https://gvanrossum.github.io/ Python's Website: https://python.org PODCAST INFO: Podcast website: https://lexfridman.com/podcast Apple Podcasts: https://apple.co/2lwqZIr Spotify: https://spoti.fi/2nEwCF8 RSS: https://lexfridman.com/feed/podcast/ Full episodes playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOdP_8GztsuKi9nrraNbKKp4 Clips playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOeciFP3CBCIEElOJeitOr41 OUTLINE: 0:00 - Introduction 0:48 - CPython 6:01 - Code readability 10:22 - Indentation 26:58 - Bugs 38:26 - Programming fads 53:37 - Speed of Python 3.11 1:18:31 - Type hinting 1:23:49 - mypy 1:29:05 - TypeScript vs JavaScript 1:45:05 - Best IDE for Python 1:55:05 - Parallelism 2:12:58 - Global Interpreter Lock (GIL) 2:22:36 - Python 4.0 2:34:53 - Machine learning 2:44:35 - Benevolent Dictator for Life (BDFL) 2:56:11 - Advice for beginners 3:02:43 - GitHub Copilot 3:06:10 - Future of Python SOCIAL: - Twitter: https://twitter.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - Medium: https://medium.com/@lexfridman - Reddit: https://reddit.com/r/lexfridman - Support on Patreon: https://www.patreon.com/lexfridman

Lex FridmanhostGuido van Rossumguest
Nov 25, 20223h 15mWatch on YouTube ↗

At a glance

WHAT IT’S REALLY ABOUT

Guido van Rossum on Python’s design, speed, types, and future

  1. Guido van Rossum and Lex Fridman explore Python’s design philosophy, from readability and indentation to dynamic typing and optional static type hints. They dig into major performance work in CPython 3.11, explaining how adaptive, specializing bytecode interpretation speeds up common operations without a JIT. The conversation compares concurrency models, the global interpreter lock (GIL), async I/O, and possible futures such as sub-interpreters and a no‑GIL Python 4. They also discuss tooling (MyPy, IDEs, GitHub Copilot), why Python conquered scientific computing and machine learning, open‑source culture, and what it meant for Guido to step down as BDFL.

IDEAS WORTH REMEMBERING

5 ideas

Readability and consistent style are core to Python’s identity.

Guido emphasizes that Python was designed for humans first: indentation-as-syntax, four-space blocks, and PEP 8 all exist to make code easier for teams to read, debug, and evolve over time—not just to satisfy the interpreter.

CPython 3.11 is faster by specializing common operations at runtime.

Without adding a JIT, 3.11 tracks the actual types seen at each bytecode operation (like addition) and replaces generic ops with fast, type‑specialized variants, while still falling back safely if types later change.

Python’s type hints are for tools and humans, not the runtime.

PEP 484-style annotations are optional metadata consumed by static type checkers such as MyPy, Pyright, and Pytype; the interpreter currently ignores them for performance and backward‑compatibility reasons, though they may inform optimizations in the future.

Concurrency is conceptually hard; the GIL is a practical compromise.

Humans are bad at reasoning about multiple threads sharing mutable state, so Python’s global interpreter lock simplifies the runtime model: it limits true CPU‑parallelism in one process but avoids many subtle, hard‑to‑debug concurrency errors.

Async I/O in Python was deliberately designed around tasks, not callbacks.

Guido favored a task/coroutine model over callback-based APIs, using language support (async/await) to let developers write sequential-looking code that can interleave I/O-bound work efficiently without spawning OS threads.

WORDS WORTH SAVING

5 quotes

Even the mad scientist sitting alone in his lab can’t type fast enough to remember what his code means later, so readability still matters.

Guido van Rossum

Python is always called an interpreted language, but there’s also a compiler in there—it just compiles to bytecode for an imaginary machine.

Guido van Rossum

The GIL is actually a pretty nice Goldilocks point between no threads and all threads all the time.

Guido van Rossum

You can’t expect to learn Python from a one-hour video. You have to practice; memorizing the syntax doesn’t make you a coder.

Guido van Rossum

Eventually Python will become a legacy language that permeates everything, like mitochondria in biology—fundamental, but most people won’t know it’s there.

Guido van Rossum

Python’s design philosophy: readability, indentation, and PEP 8CPython 3.11 performance improvements and adaptive specializing interpreterDynamic typing, type hints (PEP 484), and static type checkers (MyPy, Pyright, Pytype)Concurrency, async I/O, locks/semaphores, and the role of the GILPotential futures: sub-interpreters, no‑GIL Python, and the idea of Python 4.0Ecosystem and culture: scientific computing, machine learning, and open sourceTooling and developer workflow: IDEs, linters, GitHub Copilot, and learning paths

High quality AI-generated summary created from speaker-labeled transcript.

Get more out of YouTube videos.

High quality summaries for YouTube videos. Accurate transcripts to search & find moments. Powered by ChatGPT & Claude AI.

Add to Chrome