Chris Lattner
๐ค SpeakerAppearances Over Time
Podcast Appearances
And so this is super interesting and super powerful because one of the big advantages you get is you get Python-style expressive APIs.
You get the ability to have overloaded operators.
And if you look at what happens inside of like PyTorch, for example, with automatic differentiation and eager mode and like all these things, they're using these really dynamic and powerful features at runtime.
But we can take those features and lift them so that they run at compile time.
It's super messy.
It's always, it was accidentally, I mean, different people have different interpretations.
My interpretation is that it was made accidentally powerful.
It was not designed to be Turing complete, for example, but that was discovered kind of along the way accidentally.
And so there've been a number of languages in the space.
And so they usually have templates or code instantiation, code copying features of various sorts.
Some more modern languages or some more newer languages, let's say, like, you know, they're fairly unknown, like Zig, for example, says, okay, well, let's take all of those types that you can run it, all those things you can do at runtime and allow them to happen at compile time.
And so one of the problems with C++, I mean, which is one of the problems with C++.
Here we go.
Wrong words.
We're going to offend everybody today.
Oh, that's okay.
I mean, everybody hates me for a variety of reasons anyways, I'm sure, right?
It's just the way they show love.
I have written enough C++ code to earn a little bit of grumpiness with C++.
Yeah.