Episode

#341 – Guido van Rossum: Python and the Future of Programming
listen on SpotifyListen on Youtube
3:22:36
Published: Sat Nov 26 2022
Description

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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (07:26) - CPython (12:38) - Code readability (17:00) - Indentation (33:36) - Bugs (45:04) - Programming fads (1:00:15) - Speed of Python 3.11 (1:25:09) - Type hinting (1:30:27) - mypy (1:35:43) - TypeScript vs JavaScript (1:51:42) - Best IDE for Python (2:01:43) - Parallelism (2:19:36) - Global Interpreter Lock (GIL) (2:29:14) - Python 4.0 (2:41:31) - Machine learning (2:51:13) - Benevolent Dictator for Life (BDFL) (3:02:49) - Advice for beginners (3:09:21) - GitHub Copilot (3:12:47) - Future of Python

Chapters
By inputting raw signals such as DNA data, fitness tracker data, and blood data into machine learning algorithms, personalized recommendations for diet and lifestyle changes can be made, based on an individual's unique needs.
00:00 - 07:37 (07:37)
listen on SpotifyListen on Youtube
Health and Fitness
Summary

By inputting raw signals such as DNA data, fitness tracker data, and blood data into machine learning algorithms, personalized recommendations for diet and lifestyle changes can be made, based on an individual's unique needs.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
This transcript discusses what programming languages are and how they work, including Python and its implementation using another programming language called C. It also explores potential reasons for why some native Chinese speakers have difficulty distinguishing between the sounds 'L' and 'R'.
07:37 - 12:22 (04:45)
listen on SpotifyListen on Youtube
Programming Languages
Summary

This transcript discusses what programming languages are and how they work, including Python and its implementation using another programming language called C. It also explores potential reasons for why some native Chinese speakers have difficulty distinguishing between the sounds 'L' and 'R'.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The podcast discusses why it's important to format programming code in a readable way for other programmers and introduces PEPP8, the style guide for Python code.
12:22 - 17:28 (05:06)
listen on SpotifyListen on Youtube
Programming
Summary

The podcast discusses why it's important to format programming code in a readable way for other programmers and introduces PEPP8, the style guide for Python code.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
In Python programming, every block of code that belongs to the same group needs to be indented the same way.
17:28 - 28:25 (10:56)
listen on SpotifyListen on Youtube
Python programming
Summary

In Python programming, every block of code that belongs to the same group needs to be indented the same way. Typically, four spaces are used as a compromise due to ancient conventions and the typical width of a computer screen in the 80s.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The creators of scripting languages had to use a naming convention to make it clear to the script processor and the human author that certain words were not actual file names but arguments.
28:25 - 35:02 (06:37)
listen on SpotifyListen on Youtube
Scripting
Summary

The creators of scripting languages had to use a naming convention to make it clear to the script processor and the human author that certain words were not actual file names but arguments. As scripts evolved, a convention emerged to signify the first word on a line as the name of the program and subsequent words as file names.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
While specific technologies may become obsolete, the overall concepts they introduced or made accessible often persist.
35:02 - 48:56 (13:53)
listen on SpotifyListen on Youtube
Technology
Summary

While specific technologies may become obsolete, the overall concepts they introduced or made accessible often persist. For example, reactive web pages with code snippets responding to user actions were first introduced with Java applets.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The choices you make early on in your career can have a significant impact on your career trajectory.
48:56 - 54:14 (05:17)
listen on SpotifyListen on Youtube
Career Planning
Summary

The choices you make early on in your career can have a significant impact on your career trajectory. It is important to consider the community and culture surrounding a particular technology or field, as certain choices may become obsolete faster than others.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
When choosing a programming language, it's not just about the syntax.
54:14 - 1:00:46 (06:32)
listen on SpotifyListen on Youtube
Programming Languages
Summary

When choosing a programming language, it's not just about the syntax. Other factors, such as the community, predicted growth, and what large systems are programmed in that language, should also be considered.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The concept of prime numbers can be tricky, but there are mathematical algorithms to help determine them.
1:00:46 - 1:08:11 (07:24)
listen on SpotifyListen on Youtube
Prime Numbers
Summary

The concept of prime numbers can be tricky, but there are mathematical algorithms to help determine them. By knowing a little bit about the mathematics behind prime numbers, you can estimate their value and avoid unnecessary calculations.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The integer type is a collection of functions, including add, multiply, and 30 other operations.
1:08:11 - 1:16:58 (08:47)
listen on SpotifyListen on Youtube
Computing
Summary

The integer type is a collection of functions, including add, multiply, and 30 other operations. Historically, in the first computers, using the same bit pattern for a floating point number and an integer yielded very different values.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The add integer operation is more efficient because it interprets bit patterns as integers.
1:16:58 - 1:23:40 (06:41)
listen on SpotifyListen on Youtube
efficiency
Summary

The add integer operation is more efficient because it interprets bit patterns as integers. The generic add operation may be used, but it will be less efficient as it must interpret the bit patterns as a multitude of types.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
This episode explores the importance of static type checking for interpreted programming languages, where the code is not compiled and executed line-by-line, and how it can help ensure that the code's annotations are actually mapping to reality.
1:23:40 - 1:30:51 (07:11)
listen on SpotifyListen on Youtube
Static Type Checking
Summary

This episode explores the importance of static type checking for interpreted programming languages, where the code is not compiled and executed line-by-line, and how it can help ensure that the code's annotations are actually mapping to reality.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
Python and JavaScript have different cultures due to the environments they are used in.
1:30:51 - 1:39:24 (08:33)
listen on SpotifyListen on Youtube
Python, JavaScript
Summary

Python and JavaScript have different cultures due to the environments they are used in. While Python has a longer history of stable working software systems, JavaScript is the primary language for web application development, making for a unique community.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The podcast discusses the evolution of Python's type checking through PEP484, how Facebook utilized the technology of their HHVM compiler, and the differences between a linter and static type checker.
1:39:24 - 1:50:06 (10:41)
listen on SpotifyListen on Youtube
Python
Summary

The podcast discusses the evolution of Python's type checking through PEP484, how Facebook utilized the technology of their HHVM compiler, and the differences between a linter and static type checker.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
Many developers using Python for production situations are incorporating static type checkers, with several popular options available, including MyPy and PyCharm.
1:50:06 - 2:02:45 (12:39)
listen on SpotifyListen on Youtube
Python Development
Summary

Many developers using Python for production situations are incorporating static type checkers, with several popular options available, including MyPy and PyCharm. While MyPy is gaining popularity, PyCharm continues to dominate the market.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
Concurrency is an abstract concept where things seem to happen simultaneously, while parallelism is the use of multiple processors or CPUs to execute multiple tasks at the same time.
2:02:45 - 2:09:25 (06:39)
listen on SpotifyListen on Youtube
Concurrency vs Parallelism
Summary

Concurrency is an abstract concept where things seem to happen simultaneously, while parallelism is the use of multiple processors or CPUs to execute multiple tasks at the same time. Using the fishing and programming analogy, concurrency is like one fisherman using multiple rods while parallelism is like having multiple fishermen fishing at the same time.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The use of signs with clear indicators or an electronic display can be helpful in coordinating the use of shared resources.
2:09:25 - 2:15:14 (05:49)
listen on SpotifyListen on Youtube
Resource Management
Summary

The use of signs with clear indicators or an electronic display can be helpful in coordinating the use of shared resources. Asynchronous and non-blocking IO can also allow for more efficient and parallel use of resources like network connections or web servers.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The speaker discusses the use of stacks in programming and the debate over their efficiency and error-proneness, particularly when supporting multiple threads.
2:15:14 - 2:26:33 (11:18)
listen on SpotifyListen on Youtube
Programming
Summary

The speaker discusses the use of stacks in programming and the debate over their efficiency and error-proneness, particularly when supporting multiple threads. They argue that for a single CPU computer, stacks and threads can be used interchangeably but with the rise of multi-core processing, the efficiency of stacks may decline.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The possibility of a future without the global interpreter lock (GIL) in CPython, thanks to an optimized fork created by a Facebook engineer, has been discussed.
2:26:33 - 2:33:08 (06:35)
listen on SpotifyListen on Youtube
Python
Summary

The possibility of a future without the global interpreter lock (GIL) in CPython, thanks to an optimized fork created by a Facebook engineer, has been discussed. However, the painful transition to Python 3 has made the community and core development team wary of planning for a future Python 4.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The episode discusses the evolution and advantages of third party packages compared to standard libraries in Python, highlighting how the former evolves much faster than the latter.
2:33:08 - 2:42:19 (09:10)
listen on SpotifyListen on Youtube
Python
Summary

The episode discusses the evolution and advantages of third party packages compared to standard libraries in Python, highlighting how the former evolves much faster than the latter. It also discusses the absence of new syntactical features, modules and built-in functions from recent versions of standard libraries, with a focus on the occasional 'spring cleans' which remove modules that have remained unchanged for a significant amount of time.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
This podcast episode explores the history and importance of TensorFlow and other packages like PyTorch, NumPy, and Matplotlib in the data science community.
2:42:19 - 2:50:53 (08:34)
listen on SpotifyListen on Youtube
TensorFlow
Summary

This podcast episode explores the history and importance of TensorFlow and other packages like PyTorch, NumPy, and Matplotlib in the data science community. The speaker highlights how these libraries help data scientists to manipulate data more efficiently and provide useful visualizations.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The annual engineering reorg at Dropbox was an unpleasant tradition where directors were reshuffled every year.
2:50:53 - 3:00:03 (09:10)
listen on SpotifyListen on Youtube
Engineering, Community, Python
Summary

The annual engineering reorg at Dropbox was an unpleasant tradition where directors were reshuffled every year. Meanwhile, the Python programming language has a clear direction and principles despite evolving over time.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
This podcast episode delves into different career paths available to engineers, from becoming a manager to founding a startup or moving to a different company.
3:00:03 - 3:13:46 (13:42)
listen on SpotifyListen on Youtube
Career development
Summary

This podcast episode delves into different career paths available to engineers, from becoming a manager to founding a startup or moving to a different company. It also encourages aspiring engineers to take on coding challenges or automation projects as a way to learn and improve their skills.

Episode
#341 – Guido van Rossum: Python and the Future of Programming
Podcast
Lex Fridman Podcast
The mechanisms of replication and abstraction are similar in both natural and programming languages, and carry across different levels of organisms and civilizations, from single-celled organisms to intelligent civilizations.
3:13:46 - 3:22:48 (09:02)
listen on SpotifyListen on Youtube
Biology
Summary

The mechanisms of replication and abstraction are similar in both natural and programming languages, and carry across different levels of organisms and civilizations, from single-celled organisms to intelligent civilizations.

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