Chris Lattner
๐ค SpeakerAppearances Over Time
Podcast Appearances
And here we face very similar problems, right?
In Swift, you have Objective-C, super dynamic code,
They're very different syntax, right?
But you're talking to people who have large scale code bases.
I mean, Apple's got the biggest, largest scale code base of Objective-C code, right?
And so, you know, none of the companies, none of the iOS developers, none of the other developers want to rewrite everything all at once.
And so you want to be able to adopt things piece at a time.
And so a thing that I found that worked very well in the Swift community was saying, OK, cool.
And this is when Swift was very young.
And she'd say, OK, you have a million line of code Objective-C app.
Don't rewrite it all.
But when you implement a new feature, go implement that new class using Swift.
And so now this, it turns out, is a very wonderful thing for an app developer
But it's a huge challenge for the compiler team and the systems people that are implementing this, right?
And this comes back to what is this trade-off between doing the hard thing that enables scale versus doing the theoretically pure and ideal thing, right?
And so Swift adopted and built a lot of different machinery to deeply integrate with the Objective-C runtime.
And we're doing the same thing with Python.
Now, what happened in the case of Swift is that Swift as a language got more and more and more mature over time.
And incidentally, Mojo is a much simpler language than Swift in many ways.
And so I think that Mojo will develop way faster than Swift for a variety of reasons.