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

What's a just-in-time compiler?

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

That is a thing from the Java world, although it's now applied to almost all programming languages, especially interpreted ones.

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

We changed some parts of the bytecode, but not very much.

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

And so we only had to change the parts of the compiler where we decided that the breakdown of a Python program in bytecode instructions had to be slightly different.

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

But that didn't gain us...

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

the performance improvements.

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

The performance improvements were like making the interpreter faster in part by sort of removing the fat from some internal data structures used by the interpreter.

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

But the key idea is an adaptive specializing interpreter.

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

Well, let me first talk about the specializing part because the adaptive part is the sort of the second order effect, but they're both important.

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

So bytecode is a bunch of machine instructions, but it's an imaginary machine.

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

But the machine can do things like call a function, add two numbers, print a value.

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

Those are sort of typical instructions in Python.

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

And if we take the example of adding two numbers, actually in Python, the language, there's no such thing as adding two numbers.

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

The compiler doesn't know that you're adding two numbers.

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

You might as well be adding two strings or two lists or two instances of some user-defined class that happened to implement this operator called add.

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

That's a very interesting and fairly powerful mathematical concept.

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

It's mostly a user interface trick because it means that a certain category of functions can be written using a single symbol, the plus sign.

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

And sort of a bunch of other functions can be written using another single symbol, the multiply sign.

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

So if we take addition, the way traditionally in Python the add bytecode was executed is pointers, pointers, and more pointers.

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

So first we have two objects.