Home Lex Fridman Episode
Lex Fridman · 2018-11-22

Guido van Rossum: Python | Lex Fridman Podcast #6

Python creator Guido van Rossum on language design, consciousness, the limits of AI, and stepping down as benevolent dictator for life.

Guido van Rossum: Python | Lex Fridman Podcast #6
The guest

Guido van Rossum: Dutch programmer, creator of the Python programming language and its longtime benevolent dictator for life (BDFL).

What this episode covers

Lex Fridman interviews Guido van Rossum, creator of Python, about his childhood in the Netherlands, his early electronics tinkering, and his discovery of computing at university. The conversation ranges widely across consciousness, the nature of intelligence, evolution, and whether brains are computers. Guido reflects on what makes a programming language productive, the philosophy behind Python's design, and the contested transition from Python 2 to Python 3. He also discusses the emergence of machine learning as 'software 2.0,' parallelism and packaging in Python, and the dramatic story of his resignation as BDFL after the bruising PEP 572 debate.

Recommended on this episode

BookRecommendedISBN verified

Gödel, Escher, Bach: An Eternal Golden Braid

Douglas Hofstadter

“the most influential thing that I read in my early 20s ... that was a big eye-opener”
“the most influential thing that I read in my early 20s was girlish ABBA that was about consciousness and that was a big eye-opener”— Guido van Rossum
MediaRecommended

Dead Parrot Sketch

Monty Python

“that's brilliant ... that's my favorite as well”
“you can always play me the parrots the dead parrot sketch oh that's brilliant yeah that's my favorite as well”— Guido van Rossum

Also referenced (named, not recommended)

MediaReferenced

Conway's Game of Life

John Conway

“someone pointed out to me that there was this thing called Conway's Game of Life ... it spoke to me and I remember implementing a version of that game”— Guido van Rossum
MediaReferenced

Monty Python's Flying Circus

Monty Python

“as the announcer of Monty Python's Flying Circus used to say and now for something completely different”— Lex Fridman

Big reveals from this episode

  • Guido first heard the word 'computer' at age 18 from another teen at a Math Olympiad in Eastern Europe; he had no prior concept of it.
  • As a student he optimized his Conway's Game of Life implementation by designing a logic-gate circuit on paper and translating it into bitwise Pascal operations.
  • Python 3 was deliberately made not backward-compatible with Python 2 to fix long-standing 'warts' that couldn't be resolved compatibly.
  • Guido says his toughest decision as BDFL was to resign.
  • He wrote his famous resignation message in only about 15-20 minutes, the morning after approving PEP 572.
  • News of his resignation hit Twitter within five minutes, even though he had posted only to an internal core-developer forum he thought was private.
  • Guido states that for general Python packaging, pip is the future, with a separate Anaconda-based ecosystem for scientific computing.

Worth remembering

  • Guido van Rossum created Python, used across web development, neuroscience, computer vision, robotics, and most subfields of AI.
  • Guido has been an atheist since around age 10 and believes brains are computers, with no separate soul infusing intelligence.
  • He argues a self-driving car is more likely to become conscious than a networked data center, because consciousness follows richly developed senses.
  • Guido's first programming language exposure was Logo with the turtle.
  • He wanted a language sitting between shell scripting and C, and gave himself a roughly three-month budget to design and implement it.
  • He says a 17-year-old can't successfully design a language; he had written parsers and debated ABC's design for years before creating Python in his mid-30s.
  • Python borrowed indentation and syntactic features from ABC, and string literals and number handling from C.
  • Guido is not hopeful Python will become a high-concurrency, high-parallelism language, pointing to numpy and C++-backed packages for heavy computation.