Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Guido van Rossum

๐Ÿ‘ค Speaker
See mentions of this person in podcasts
1189 total appearances

Appearances Over Time

Podcast Appearances

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

It was very prevalent in JavaScript at the time, at least, because it was like how the JavaScript event loop basically works.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And so I thought, well, the task-based model where each task has a bunch of logic, we had mechanisms in the Python language that we could easily reuse for that.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And I thought, I want to build a whole library for asynchronous networking I.O.,

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

and all the other things that may need to be done asynchronously based on that paradigm.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And so I just chose a paradigm and tried to see how far I could get with that.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And it turns out that it's a pretty good paradigm.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

The global interpreter lock...

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

solves the problem that Python originally was not written with either asynchronous or parallelism in mind at all.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

There was no concurrency in the language, there was no parallelism, there were no threads.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

Only a small number of years into Python's initial development,

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

All the new cool operating systems like SunOS and Silicon Graphics IRIX and then eventually POSIX and Windows all came with threading libraries.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

that lets you do multiple things in parallel.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And there is a certain sort of principle, which is the operating system handles the threads for you.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And the program can pretend that there are as many CPUs as there are threads in the program.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And those CPUs work completely independently.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And if you don't have enough CPUs, the operating system sort of simulates those extra CPUs.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

On the other hand, if you have enough CPUs, you can get a lot of work done by deploying those multiple CPUs.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

But Python wasn't written to do that.

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

And so...

Lex Fridman Podcast
#341 โ€“ Guido van Rossum: Python and the Future of Programming

As libraries for multithreading were added to C, but every operating system vendor was adding their own version of that.