Chris Lattner
๐ค SpeakerAppearances Over Time
Podcast Appearances
There's a lot of things that went on in that.
I'm not an expert in all the details.
I honestly don't want to be.
I don't want the world to have to go through that.
People can ignore Mojo, and if it's not their thing, that's cool.
But if they want to use Mojo, I don't want them to have to rewrite all their code.
Yeah, so I'm not a full expert in the whole backstory on types in Python, so I'll give you that.
I can give you my understanding.
My understanding is basically, like many dynamic languages, the ecosystem went through a phase where people went from writing scripts to writing large-scale, huge code bases in Python, and at scale...
it kind of helps to have types.
People want to be able to reason about interfaces, what do you expect, a string or an int or like, these basic things, right?
And so what the Python community started doing is it started saying, okay, let's have tools on the side.
checker tools that go and enforce invariance, check for bugs, try to identify things.
These are called static analysis tools generally.
And so these tools run over your code and try to look for bugs.
What ended up happening is there's so many of these things, so many different weird patterns and different approaches on specifying the types and different things going on that the Python community realized and recognized, hey, hey, hey, there's a thing here.
And so what they started to do is they started to standardize the syntax for adding types to Python.
Now, one of the challenges that they had is that they're coming from kind of this fragmented world where there's lots of different tools.
They have different trade-offs and interpretations and the types being different things.
And so if you look at types in Python, according to the Python spec, the types are ignored.