That's good Mojo - Creating a Programming Language for an AI world with Chris Lattner
Read full transcript 32 segments
-
LVM like it's a good thing. I'm a fan, LVM like it's a good thing. I'm a fan, but it's also 25 years old and not a but it's also 25 years old and not a but it's also 25 years old and not a great thing, right? And so following great thing, right? And so following great thing, right? And so following >> 25 years old compiler technology is >> 25 years old compiler technology is >> 25 years old compiler technology is actually not even that awesome. LVM is actually not even that awesome. LVM is actually not even that awesome. LVM is one of the most widely understood one of the most widely understood one of the most widely understood compilers out there because there's so compilers out there because there's so compilers out there because there's so many people working on it and it gets many people working on it and it gets many people working on it and it gets used in a lot of ways, but that doesn't used in a lot of ways, but that doesn't used in a lot of ways, but that doesn't make it the best. And so I've been make it the best. And so I've been make it the best. And so I've been working a lot of new compilers since working a lot of new compilers since working a lot of new compilers since then that are way better. then that are way better. then that are way better. >> Okay, so that's a great Scott. I want to >> Okay, so that's a great Scott. I want to >> Okay, so that's a great Scott. I want to thank our new sponsor, Mail Trap. Modern thank our new sponsor, Mail Trap. Modern thank our new sponsor, Mail Trap. Modern email delivery for developers. They email delivery for developers. They email delivery for developers. They integrate straight into your code with integrate straight into your code with integrate straight into your code with their SDKs. You get unified their SDKs. You get unified their SDKs. You get unified transactional and promotional email transactional and promotional email transactional and promotional email delivery, 247 support. You contact delivery, 247 support. You contact delivery, 247 support. You contact humans, not AI chat bots. We'll give you humans, not AI chat bots. We'll give you humans, not AI chat bots. We'll give you 3,500 emails monthly in the free tier. 3,500 emails monthly in the free tier. 3,500 emails monthly in the free tier. And you can try them out at mail.io And you can try them out at mail.io And you can try them out at mail.io today. That's m a lap.io today. That's m a lap.io today. That's m a lap.io today. today. today. Hey friends, I'm Scott Hanselman. This Hey friends, I'm Scott Hanselman. This Hey friends, I'm Scott Hanselman. This is another episode of Hansel Minutes. is another episode of Hansel Minutes. is another episode of Hansel Minutes. Today I'm chatting with Chris Latner.
-
Today I'm chatting with Chris Latner. Today I'm chatting with Chris Latner. He's a creator of LLVM, the compiler He's a creator of LLVM, the compiler He's a creator of LLVM, the compiler infrastructure that underpins huge swast infrastructure that underpins huge swast infrastructure that underpins huge swast of modern software. And he's also the of modern software. And he's also the of modern software. And he's also the original architect at Swift and he's had original architect at Swift and he's had original architect at Swift and he's had engineering leadership roles at Apple engineering leadership roles at Apple engineering leadership roles at Apple and Tesla and Google, but now he's at and Tesla and Google, but now he's at and Tesla and Google, but now he's at Modular AI focused on the next Modular AI focused on the next Modular AI focused on the next generation of AI native programming generation of AI native programming generation of AI native programming tools. How are you, sir? tools. How are you, sir? tools. How are you, sir? >> I'm doing well, Scott. I'm excited to be >> I'm doing well, Scott. I'm excited to be >> I'm doing well, Scott. I'm excited to be here. Um I'm happy you finally had me here. Um I'm happy you finally had me here. Um I'm happy you finally had me on. It only took a thousand episodes and on. It only took a thousand episodes and on. It only took a thousand episodes and you know I you know I you know I >> Well, you have standards so I can I >> Well, you have standards so I can I >> Well, you have standards so I can I understand. understand. understand. >> Well, I wanted more accomplished people >> Well, I wanted more accomplished people >> Well, I wanted more accomplished people so I was waiting for your Wikipedia page so I was waiting for your Wikipedia page so I was waiting for your Wikipedia page to scroll more. to scroll more. to scroll more. >> Oh yeah. I mean maybe if we don't offend >> Oh yeah. I mean maybe if we don't offend >> Oh yeah. I mean maybe if we don't offend you and your audience too badly you'll you and your audience too badly you'll you and your audience too badly you'll have me on again sometime. So have me on again sometime. So have me on again sometime. So >> I think a lot of things we could talk >> I think a lot of things we could talk >> I think a lot of things we could talk about. about. about. >> Yeah, it is it is kind of funny though. >> Yeah, it is it is kind of funny though. >> Yeah, it is it is kind of funny though. You're right. I mean you should have You're right. I mean you should have You're right. I mean you should have been on seven or 800 episodes ago. So been on seven or 800 episodes ago. So been on seven or 800 episodes ago. So that is 100% my bad and I will take that that is 100% my bad and I will take that that is 100% my bad and I will take that feedback to the team which is me. Um I'm feedback to the team which is me. Um I'm feedback to the team which is me. Um I'm curious though. I'm thinking about I'm curious though. I'm thinking about I'm curious though. I'm thinking about I'm thinking about history and I'm thinking thinking about history and I'm thinking thinking about history and I'm thinking about being you know doing this for so about being you know doing this for so about being you know doing this for so many years and you've been doing this many years and you've been doing this many years and you've been doing this for you know we're kind of for you know we're kind of for you know we're kind of contemporaries contemporaries contemporaries but LVM was a research project right?
-
but LVM was a research project right? but LVM was a research project right? You just kind of had had a Jones for You just kind of had had a Jones for You just kind of had had a Jones for this when you were a grad student at this when you were a grad student at this when you were a grad student at University of Illinois. University of Illinois. University of Illinois. >> Was this a long con? Have you been >> Was this a long con? Have you been >> Was this a long con? Have you been working on all this stuff for 30 years working on all this stuff for 30 years working on all this stuff for 30 years to get to this moment right now? to get to this moment right now? to get to this moment right now? Well, so I mean I wouldn't say it's a Well, so I mean I wouldn't say it's a Well, so I mean I wouldn't say it's a con. It's a passion. [laughter] It's my con. It's a passion. [laughter] It's my con. It's a passion. [laughter] It's my life's work. That that's probably a life's work. That that's probably a life's work. That that's probably a nicer way to put it. nicer way to put it. nicer way to put it. >> Yeah. Yeah. >> Yeah. Yeah. >> Yeah. Yeah. >> I mean, I'm I'm a special kind of nerd. >> I mean, I'm I'm a special kind of nerd. >> I mean, I'm I'm a special kind of nerd. I think, you know, uh I am very I think, you know, uh I am very I think, you know, uh I am very enthralled with compute and with enthralled with compute and with enthralled with compute and with compilers and systems and hardware and compilers and systems and hardware and compilers and systems and hardware and chips and like how it all works chips and like how it all works chips and like how it all works together, but I really identify as a together, but I really identify as a together, but I really identify as a developer, right? And so I write a lot developer, right? And so I write a lot developer, right? And so I write a lot of code still. You can check me out on of code still. You can check me out on of code still. You can check me out on GitHub. The I care about the craft. I GitHub. The I care about the craft. I GitHub. The I care about the craft. I care about what it means. I care about care about what it means. I care about care about what it means. I care about people developing in their careers. I people developing in their careers. I people developing in their careers. I care about building teams of people. I care about building teams of people. I care about building teams of people. I care about, you know, building things care about, you know, building things care about, you know, building things and hopefully making an impact on the and hopefully making an impact on the and hopefully making an impact on the world. So, world. So, world. So, >> I'm good at certain things. I'm way >> I'm good at certain things. I'm way >> I'm good at certain things. I'm way better at building a compiler than an better at building a compiler than an better at building a compiler than an iPhone app or a HTML page. But that's iPhone app or a HTML page. But that's iPhone app or a HTML page. But that's cool with me. I just kind of try to be cool with me. I just kind of try to be cool with me. I just kind of try to be useful. useful. useful. >> Did you see the AI moment coming? Like I >> Did you see the AI moment coming? Like I >> Did you see the AI moment coming? Like I feel like mo a lot of people will say feel like mo a lot of people will say feel like mo a lot of people will say like as of October now they can code for like as of October now they can code for like as of October now they can code for us, but like I suspect you saw this us, but like I suspect you saw this us, but like I suspect you saw this coming a little sooner than October of coming a little sooner than October of coming a little sooner than October of last year. Yeah, I fell in love with AI last year. Yeah, I fell in love with AI last year. Yeah, I fell in love with AI or enthralled with AI actually uh in or enthralled with AI actually uh in or enthralled with AI actually uh in like 2016. So, it's about a decade ago, like 2016. So, it's about a decade ago, like 2016. So, it's about a decade ago, which makes me, I guess, a pretty which makes me, I guess, a pretty which makes me, I guess, a pretty old-timer at this point. That was right old-timer at this point. That was right old-timer at this point. That was right [clears throat] when uh the photos app [clears throat] when uh the photos app [clears throat] when uh the photos app at Apple was getting the ability to see at Apple was getting the ability to see at Apple was getting the ability to see cats and dogs and photos. And I'm like, cats and dogs and photos. And I'm like, cats and dogs and photos. And I'm like, >> how do you write for loops to figure out >> how do you write for loops to figure out >> how do you write for loops to figure out if there's a cat in a picture? And if there's a cat in a picture? And if there's a cat in a picture? And >> uh because of that, I just kind of fell >> uh because of that, I just kind of fell >> uh because of that, I just kind of fell down the rabbit hole. What is what is a down the rabbit hole. What is what is a down the rabbit hole. What is what is a neural network? What is a convolutional neural network? What is a convolutional neural network? What is a convolutional neural net? How does all this kind of
-
neural net? How does all this kind of neural net? How does all this kind of stuff work? And that's actually when I stuff work? And that's actually when I stuff work? And that's actually when I was kind of getting kind of bored and was kind of getting kind of bored and was kind of getting kind of bored and ready to go embark on new things. And ready to go embark on new things. And ready to go embark on new things. And since then I've been chasing what is AI, since then I've been chasing what is AI, since then I've been chasing what is AI, what is the developer platform, what are what is the developer platform, what are what is the developer platform, what are the tools look like, what are the the tools look like, what are the the tools look like, what are the systems, how do we unlock the hardware? systems, how do we unlock the hardware? systems, how do we unlock the hardware? And this has been my mission for the And this has been my mission for the And this has been my mission for the last last decade now, which is kind of last last decade now, which is kind of last last decade now, which is kind of scary how that works. But scary how that works. But scary how that works. But >> did you feel that GPTs were going to be >> did you feel that GPTs were going to be >> did you feel that GPTs were going to be able to spit code out as well as they able to spit code out as well as they able to spit code out as well as they can now? can now? can now? >> Well, so the the funny thing about AI, >> Well, so the the funny thing about AI, >> Well, so the the funny thing about AI, if you've been in the space, is that if you've been in the space, is that if you've been in the space, is that it's always changing, right? And so it's always changing, right? And so it's always changing, right? And so being in the AI space necessarily means being in the AI space necessarily means being in the AI space necessarily means that you become like acclimated to that you become like acclimated to that you become like acclimated to discomfort like you you are used to discomfort like you you are used to discomfort like you you are used to things changing all around you. You things changing all around you. You things changing all around you. You never know what model or capability or never know what model or capability or never know what model or capability or demo or whatever will launch next month, demo or whatever will launch next month, demo or whatever will launch next month, right? And so when chat GBT happened, I right? And so when chat GBT happened, I right? And so when chat GBT happened, I that was a huge deal. I think that's that was a huge deal. I think that's that was a huge deal. I think that's that was the first wakeup call for a lot that was the first wakeup call for a lot that was the first wakeup call for a lot of people when they started to realize of people when they started to realize of people when they started to realize that AI is a real thing. But ChatGpt for that AI is a real thing. But ChatGpt for that AI is a real thing. But ChatGpt for me was just the next the next step, me was just the next the next step, me was just the next the next step, [laughter] right? And so what's [laughter] right? And so what's [laughter] right? And so what's happening, I think even the last few happening, I think even the last few happening, I think even the last few months is that AI coding has really come months is that AI coding has really come months is that AI coding has really come onto the scene in a way that people onto the scene in a way that people onto the scene in a way that people didn't see coming, but it's really also didn't see coming, but it's really also didn't see coming, but it's really also the accumulation of a bunch of the accumulation of a bunch of the accumulation of a bunch of exponentials. And so I've been tracking exponentials. And so I've been tracking exponentials. And so I've been tracking the AI coding thing for over a year now.
-
the AI coding thing for over a year now. the AI coding thing for over a year now. I've been using cursor for my daily I've been using cursor for my daily I've been using cursor for my daily driver personally and been experimenting driver personally and been experimenting driver personally and been experimenting with some of the agentic stuff and it's with some of the agentic stuff and it's with some of the agentic stuff and it's amazingly amazingly amazingly it's amazing what can be done but it is it's amazing what can be done but it is it's amazing what can be done but it is also more a continuation of the same and also more a continuation of the same and also more a continuation of the same and so I see it building and the thing that so I see it building and the thing that so I see it building and the thing that we all wrestle with as developers now is we all wrestle with as developers now is we all wrestle with as developers now is what does it mean? How do I best use it? what does it mean? How do I best use it? what does it mean? How do I best use it? What is hype? What is real? Like do I What is hype? What is real? Like do I What is hype? What is real? Like do I still have purpose? And so for these still have purpose? And so for these still have purpose? And so for these things like again it's not like a new things like again it's not like a new things like again it's not like a new question it's more about like what is question it's more about like what is question it's more about like what is the purpose how do we shape our time how the purpose how do we shape our time how the purpose how do we shape our time how do we best use the tools and as the do we best use the tools and as the do we best use the tools and as the tools evolve I think we we need to adapt tools evolve I think we we need to adapt tools evolve I think we we need to adapt the speaking of I think about every era the speaking of I think about every era the speaking of I think about every era panics like I remember when I went from panics like I remember when I went from panics like I remember when I went from assembler to C and some of the old heads assembler to C and some of the old heads assembler to C and some of the old heads would tell me that like no no you got to would tell me that like no no you got to would tell me that like no no you got to do assembler like real real programmers do assembler like real real programmers do assembler like real real programmers use assembler and then when I got color use assembler and then when I got color use assembler and then when I got color syntax highlighting they're like no it's syntax highlighting they're like no it's syntax highlighting they're like no it's going to rot your brain man you can't do going to rot your brain man you can't do going to rot your brain man you can't do that you know so like there's always that you know so like there's always that you know so like there's always every era is in a panic and you know oh every era is in a panic and you know oh every era is in a panic and you know oh you're copy pasting code directly from you're copy pasting code directly from you're copy pasting code directly from Stack Overflow into production don't do Stack Overflow into production don't do Stack Overflow into production don't do that recently Anthropic announced the that recently Anthropic announced the that recently Anthropic announced the Claude C compiler and you did a blog Claude C compiler and you did a blog Claude C compiler and you did a blog post about this just literally today as post about this just literally today as post about this just literally today as of the record or yesterday rather the of the record or yesterday rather the of the record or yesterday rather the recording of uh this this this recording of uh this this this recording of uh this this this podcast and I I think we have similar podcast and I I think we have similar podcast and I I think we have similar takes on it like you said it's an AI takes on it like you said it's an AI takes on it like you said it's an AI building a C compiler is not building a C compiler is not building a C compiler is not revolutionary but it does tell us about revolutionary but it does tell us about revolutionary but it does tell us about like where AI is right now and where like where AI is right now and where like where AI is right now and where it's heading.
-
it's heading. it's heading. >> Yeah. Well, so when when I bubble out >> Yeah. Well, so when when I bubble out >> Yeah. Well, so when when I bubble out and just to plus one your humans don't and just to plus one your humans don't and just to plus one your humans don't like change. So when when I was building like change. So when when I was building like change. So when when I was building Swift, when we came out with Swift, Swift, when we came out with Swift, Swift, when we came out with Swift, there was a really interesting aha there was a really interesting aha there was a really interesting aha moment for me that I didn't really moment for me that I didn't really moment for me that I didn't really expect. So when we launched Swift, just expect. So when we launched Swift, just expect. So when we launched Swift, just contextualized, only about 250 people in contextualized, only about 250 people in contextualized, only about 250 people in the world knew about it. And so because the world knew about it. And so because the world knew about it. And so because of Apple secrecy, it turns out most of of Apple secrecy, it turns out most of of Apple secrecy, it turns out most of the software engineers within Apple had the software engineers within Apple had the software engineers within Apple had no clue. And then it went from not even no clue. And then it went from not even no clue. And then it went from not even being on their radar to what Apple's being on their radar to what Apple's being on their radar to what Apple's switching to a new language. And it was switching to a new language. And it was switching to a new language. And it was just a big head exploding moment for a just a big head exploding moment for a just a big head exploding moment for a bunch of people. That was fun. But the bunch of people. That was fun. But the bunch of people. That was fun. But the thing I didn't expect was that the thing I didn't expect was that the thing I didn't expect was that the existing community really resisted it. existing community really resisted it. existing community really resisted it. >> Not everybody, but particularly the >> Not everybody, but particularly the >> Not everybody, but particularly the people that were super expert at people that were super expert at people that were super expert at Objective C. They really did not want a Objective C. They really did not want a Objective C. They really did not want a new thing to come onto the scene because new thing to come onto the scene because new thing to come onto the scene because they were experts. They they really they were experts. They they really they were experts. They they really understood how to use the existing understood how to use the existing understood how to use the existing tools. Uh people came to them. they had tools. Uh people came to them. they had tools. Uh people came to them. they had built their careers as being the guru. built their careers as being the guru. built their careers as being the guru. And so getting reset back to the same And so getting reset back to the same And so getting reset back to the same starting point as everybody else, being starting point as everybody else, being starting point as everybody else, being a Swift newbie was not something that a Swift newbie was not something that a Swift newbie was not something that they wanted. And on the flip side, they wanted. And on the flip side, they wanted. And on the flip side, people coming to Apple Platforms for the people coming to Apple Platforms for the people coming to Apple Platforms for the first time or people that had been in first time or people that had been in first time or people that had been in for 6 months or something like that are for 6 months or something like that are for 6 months or something like that are like, "Oh, thank goodness. Now I can like, "Oh, thank goodness. Now I can like, "Oh, thank goodness. Now I can actually do way more. It's so much actually do way more. It's so much actually do way more. It's so much easier. I can grow and scale faster. Now easier. I can grow and scale faster. Now easier. I can grow and scale faster. Now I can close the gap with the experienced I can close the gap with the experienced I can close the gap with the experienced people." And I and it's not that they're people." And I and it's not that they're people." And I and it's not that they're against the experienced people, but against the experienced people, but against the experienced people, but they're just they want to get more done.
-
they're just they want to get more done. they're just they want to get more done. I see that pattern playing out exactly I see that pattern playing out exactly I see that pattern playing out exactly today, right? Where you have a lot of today, right? Where you have a lot of today, right? Where you have a lot of people that are taking these very people that are taking these very people that are taking these very diametrically opposed opinions, either diametrically opposed opinions, either diametrically opposed opinions, either AI is completely nonsense or oh my god, AI is completely nonsense or oh my god, AI is completely nonsense or oh my god, we're all doomed, but really there's a we're all doomed, but really there's a we're all doomed, but really there's a middle path, right? Neither neither of middle path, right? Neither neither of middle path, right? Neither neither of those is right. It's not that we're all those is right. It's not that we're all those is right. It's not that we're all doomed because of AI. It's not it's not doomed because of AI. It's not it's not doomed because of AI. It's not it's not that uh AI is stupid. The question is we that uh AI is stupid. The question is we that uh AI is stupid. The question is we have these amazingly powerful tools. How have these amazingly powerful tools. How have these amazingly powerful tools. How do we use them? And some people will do we use them? And some people will do we use them? And some people will deny them and say, "Okay, well this is deny them and say, "Okay, well this is deny them and say, "Okay, well this is nonsense." But other people will upskill nonsense." But other people will upskill nonsense." But other people will upskill very quickly and the people that adopt very quickly and the people that adopt very quickly and the people that adopt the tools and figure out the best ways the tools and figure out the best ways the tools and figure out the best ways to use them figure out both AI the good to use them figure out both AI the good to use them figure out both AI the good way to use it and not the bad way to use way to use it and not the bad way to use way to use it and not the bad way to use it because there's a lot of learning it because there's a lot of learning it because there's a lot of learning that we have to do like those those are that we have to do like those those are that we have to do like those those are the folks I think that will grow quickly the folks I think that will grow quickly the folks I think that will grow quickly that will have new opportunities and that will have new opportunities and that will have new opportunities and that their careers will be progreg but this one is so obviously profound it but this one is so obviously profound it becomes a new tool it's just like source becomes a new tool it's just like source becomes a new tool it's just like source control 20 years ago go or something. control 20 years ago go or something. control 20 years ago go or something. >> Yeah. Profound for all things or >> Yeah. Profound for all things or >> Yeah. Profound for all things or profound for software engineering or do profound for software engineering or do profound for software engineering or do you have different levels of you have different levels of you have different levels of >> Yeah. The art of software engineering >> Yeah. The art of software engineering >> Yeah. The art of software engineering and I think that you and I love building and I think that you and I love building and I think that you and I love building things, right? And so the the I don't things, right? And so the the I don't things, right? And so the the I don't see building software as writing code, see building software as writing code, see building software as writing code, right? Writing code is one thing that's right? Writing code is one thing that's right? Writing code is one thing that's that is that is an issue and a lot of that is that is an issue and a lot of that is that is an issue and a lot of people struggle with that. I'm at the people struggle with that. I'm at the people struggle with that. I'm at the phase where I have flow moments of phase where I have flow moments of phase where I have flow moments of writing code. like code the syntax like writing code. like code the syntax like writing code. like code the syntax like the the art of like hacking stuff out on the the art of like hacking stuff out on the the art of like hacking stuff out on a keyboard isn't actually a challenge a keyboard isn't actually a challenge a keyboard isn't actually a challenge for me which good news I'm a senior
-
for me which good news I'm a senior for me which good news I'm a senior developer or something but but that's developer or something but but that's developer or something but but that's not true for everybody right and so not true for everybody right and so not true for everybody right and so again I think that a lot of people again I think that a lot of people again I think that a lot of people associate associate associate coding with the writing of code but when coding with the writing of code but when coding with the writing of code but when you bubble out and you think about what you bubble out and you think about what you bubble out and you think about what are we trying to achieve are we trying to achieve are we trying to achieve >> what are we building why what does >> what are we building why what does >> what are we building why what does better look like what does the better look like what does the better look like what does the architecture look like what does good architecture look like what does good architecture look like what does good design look like these questions are design look like these questions are design look like these questions are things that I think are pure purely things that I think are pure purely things that I think are pure purely human. They they are something that we human. They they are something that we human. They they are something that we are in innately responsible for. And I are in innately responsible for. And I are in innately responsible for. And I think that a lot of people again the think that a lot of people again the think that a lot of people again the extremists say, "Oh well, when AI means extremists say, "Oh well, when AI means extremists say, "Oh well, when AI means you don't have to know how anything you don't have to know how anything you don't have to know how anything works, right? The AI will just write the works, right? The AI will just write the works, right? The AI will just write the machine code for you. When AGI happens, machine code for you. When AGI happens, machine code for you. When AGI happens, all this stuff blah blah blah blah blah all this stuff blah blah blah blah blah all this stuff blah blah blah blah blah like that train of thought completely like that train of thought completely like that train of thought completely dismisses the fact that it has not dismisses the fact that it has not dismisses the fact that it has not happened and it may not happen." And so happened and it may not happen." And so happened and it may not happen." And so I like to live in the real world. And so I like to live in the real world. And so I like to live in the real world. And so the way I kind of contextualize and look the way I kind of contextualize and look the way I kind of contextualize and look at this moment that we're in is how do at this moment that we're in is how do at this moment that we're in is how do we best use this technology, right? we best use this technology, right? we best use this technology, right? Because it is profound. It does allow us Because it is profound. It does allow us Because it is profound. It does allow us to accelerate a ton of stuff as an to accelerate a ton of stuff as an to accelerate a ton of stuff as an experienced coder, it means I can get experienced coder, it means I can get experienced coder, it means I can get out of doing a lot of the boilerplate out of doing a lot of the boilerplate out of doing a lot of the boilerplate mechanical stuff, but for other people mechanical stuff, but for other people mechanical stuff, but for other people that are earlier in their journey, it that are earlier in their journey, it that are earlier in their journey, it means that they can be way more means that they can be way more means that they can be way more productive and can close a lot of gaps.
-
productive and can close a lot of gaps. productive and can close a lot of gaps. So So So >> yeah, I I I was I think about it in the >> yeah, I I I was I think about it in the >> yeah, I I I was I think about it in the context of if you come at this with code context of if you come at this with code context of if you come at this with code is art and the AI is stealing my art is art and the AI is stealing my art is art and the AI is stealing my art from me, that would hurt a certain way. from me, that would hurt a certain way. from me, that would hurt a certain way. I don't like AI generated images. I I don't like AI generated images. I I don't like AI generated images. I don't like AI generated video and I don't like AI generated video and I don't like AI generated video and I would not use an AI to generate poetry. would not use an AI to generate poetry. would not use an AI to generate poetry. So if but if the job of poetry is to So if but if the job of poetry is to So if but if the job of poetry is to evoke emotion, then I could see where evoke emotion, then I could see where evoke emotion, then I could see where one could argue in some philosophy, you one could argue in some philosophy, you one could argue in some philosophy, you know, 2011 class that like, well, I know, 2011 class that like, well, I know, 2011 class that like, well, I evoked an emotion. And it doesn't really evoked an emotion. And it doesn't really evoked an emotion. And it doesn't really matter how I did it. That doesn't that's matter how I did it. That doesn't that's matter how I did it. That doesn't that's not the purpose of poetry in my opinion. not the purpose of poetry in my opinion. not the purpose of poetry in my opinion. >> Well, it depends on your goal and I >> Well, it depends on your goal and I >> Well, it depends on your goal and I can't say that everybody's goal is the can't say that everybody's goal is the can't say that everybody's goal is the same, right? But is your goal of writing same, right? But is your goal of writing same, right? But is your goal of writing poetry to get paid for it? poetry to get paid for it? poetry to get paid for it? >> If so, then accelerating the production >> If so, then accelerating the production >> If so, then accelerating the production of poetry is probably a good thing. of poetry is probably a good thing. of poetry is probably a good thing. >> But isn't that poetry slop? >> But isn't that poetry slop? >> But isn't that poetry slop? >> But if if the goal if the goal of >> But if if the goal if the goal of >> But if if the goal if the goal of writing poetry is to enjoy the art of writing poetry is to enjoy the art of writing poetry is to enjoy the art of building and discovering and making the building and discovering and making the building and discovering and making the poetry, then that's like saying, "Hey, poetry, then that's like saying, "Hey, poetry, then that's like saying, "Hey, Scott is a woodworker." like using a Scott is a woodworker." like using a Scott is a woodworker." like using a hand plane is like actually a very hand plane is like actually a very hand plane is like actually a very fulfilling thing to do. Probably not fulfilling thing to do. Probably not fulfilling thing to do. Probably not what you're going to do in a cabinet what you're going to do in a cabinet what you're going to do in a cabinet shop where you're volume producing shop where you're volume producing shop where you're volume producing things, right? But it doesn't mean that things, right? But it doesn't mean that things, right? But it doesn't mean that one is good or the other's bad. It's one is good or the other's bad. It's one is good or the other's bad. It's about what is the right tool for the about what is the right tool for the about what is the right tool for the job, job, job, >> right? And then that's where things get >> right? And then that's where things get >> right? And then that's where things get get artificially broken down into ones get artificially broken down into ones get artificially broken down into ones and zeros. And by ones and zeros, I mean and zeros. And by ones and zeros, I mean and zeros. And by ones and zeros, I mean there's either IKEA or there's the there's either IKEA or there's the there's either IKEA or there's the Yankee Workshop and there's nothing in Yankee Workshop and there's nothing in Yankee Workshop and there's nothing in between or it's like code is poetry or between or it's like code is poetry or between or it's like code is poetry or it's AI slop and there's nothing in it's AI slop and there's nothing in it's AI slop and there's nothing in between.
-
between. between. >> Well, and so I think that the thing that >> Well, and so I think that the thing that >> Well, and so I think that the thing that we're both channeling is that we're both we're both channeling is that we're both we're both channeling is that we're both artists when it comes to code like artists when it comes to code like artists when it comes to code like >> we think. Yeah, for sure. >> we think. Yeah, for sure. >> we think. Yeah, for sure. >> Yeah. And we care about the the craft >> Yeah. And we care about the the craft >> Yeah. And we care about the the craft and and things like this. I care about and and things like this. I care about and and things like this. I care about that for two different reasons actually. that for two different reasons actually. that for two different reasons actually. One is, and this is something I think One is, and this is something I think One is, and this is something I think that people hugely gloss over in the AI that people hugely gloss over in the AI that people hugely gloss over in the AI discussion, is that outcomes are not the discussion, is that outcomes are not the discussion, is that outcomes are not the only thing that matters. It turns out only thing that matters. It turns out only thing that matters. It turns out that in my opinion, building a software that in my opinion, building a software that in my opinion, building a software artifact, building something in code is artifact, building something in code is artifact, building something in code is not about solving today's problem. It's not about solving today's problem. It's not about solving today's problem. It's about building an investment in a about building an investment in a about building an investment in a technology. And the thing that's always technology. And the thing that's always technology. And the thing that's always true about software is that the the true about software is that the the true about software is that the the requirements change all the time. And so requirements change all the time. And so requirements change all the time. And so what you need is you need both to have what you need is you need both to have what you need is you need both to have the outcome, but then you also need to the outcome, but then you also need to the outcome, but then you also need to be able to move it quickly, adapt to be able to move it quickly, adapt to be able to move it quickly, adapt to change, add new features, change, add new features, change, add new features, move into the new economy, add the move into the new economy, add the move into the new economy, add the mobile features, like what whatever the mobile features, like what whatever the mobile features, like what whatever the thing is that you're doing, right? And thing is that you're doing, right? And thing is that you're doing, right? And so to do that, you need not just uh an so to do that, you need not just uh an so to do that, you need not just uh an outcome oriented, okay, the the code outcome oriented, okay, the the code outcome oriented, okay, the the code appears to pass the unit test, but you appears to pass the unit test, but you appears to pass the unit test, but you need people that can manage that, that need people that can manage that, that need people that can manage that, that can work with it, that can understand can work with it, that can understand can work with it, that can understand the considerations, that can make good the considerations, that can make good the considerations, that can make good judgment about where to invest and how judgment about where to invest and how judgment about where to invest and how to achieve things. And for that you need to achieve things. And for that you need to achieve things. And for that you need a really visceral kind of understanding a really visceral kind of understanding a really visceral kind of understanding of how stuff works. Um I think the AI of how stuff works. Um I think the AI of how stuff works. Um I think the AI and again this this gets back into the and again this this gets back into the and again this this gets back into the AI is very powerful but it's a tool. It AI is very powerful but it's a tool. It AI is very powerful but it's a tool. It can encourage really sloppy work. It can can encourage really sloppy work. It can can encourage really sloppy work. It can encourage laziness. It can encourage a encourage laziness. It can encourage a encourage laziness. It can encourage a lot of really bad things. I think that lot of really bad things. I think that lot of really bad things. I think that we we as a team it can it can certainly we we as a team it can it can certainly we we as a team it can it can certainly encourage people wasting other people's encourage people wasting other people's encourage people wasting other people's time on the team.
-
time on the team. time on the team. >> I've coded this thing. Go review it for >> I've coded this thing. Go review it for >> I've coded this thing. Go review it for me. Right? That's that's not actually a me. Right? That's that's not actually a me. Right? That's that's not actually a good outcome. And so I think we need to good outcome. And so I think we need to good outcome. And so I think we need to figure out how to best use these tools. figure out how to best use these tools. figure out how to best use these tools. >> Okay. So putting all of this into the >> Okay. So putting all of this into the >> Okay. So putting all of this into the context of this the C compiler which you context of this the C compiler which you context of this the C compiler which you again wrote about recently. You call out again wrote about recently. You call out again wrote about recently. You call out a lot of things that I very much agree a lot of things that I very much agree a lot of things that I very much agree with like good software depends on with like good software depends on with like good software depends on judgment. It feels like human judgment judgment. It feels like human judgment judgment. It feels like human judgment is the only thing that matters right is the only thing that matters right is the only thing that matters right now. And you know good taste or code now. And you know good taste or code now. And you know good taste or code smell as we would have called it in the smell as we would have called it in the smell as we would have called it in the past matters. Is I'll just ask you out past matters. Is I'll just ask you out past matters. Is I'll just ask you out out straight. Is this a good C compiler? out straight. Is this a good C compiler? out straight. Is this a good C compiler? Did they just oneshot a C compiler or is Did they just oneshot a C compiler or is Did they just oneshot a C compiler or is it a little more nuanced than that? Cuz it a little more nuanced than that? Cuz it a little more nuanced than that? Cuz it's a long article you wrote. it's a long article you wrote. it's a long article you wrote. >> Yeah. Well, so it's not a oneshot C >> Yeah. Well, so it's not a oneshot C >> Yeah. Well, so it's not a oneshot C compiler. Uh they burn $10,000 worth of compiler. Uh they burn $10,000 worth of compiler. Uh they burn $10,000 worth of tokens over the course of two weeks. And tokens over the course of two weeks. And tokens over the course of two weeks. And so it's definitely a a very agent swarm so it's definitely a a very agent swarm so it's definitely a a very agent swarm iterative thing, right? And if you look iterative thing, right? And if you look iterative thing, right? And if you look at this kind of agent swarm building at this kind of agent swarm building at this kind of agent swarm building against a objective function, it kind of against a objective function, it kind of against a objective function, it kind of looks like training a neural net itself. looks like training a neural net itself. looks like training a neural net itself. Like you have a loss function of like Like you have a loss function of like Like you have a loss function of like how many tests fail and then you're how many tests fail and then you're how many tests fail and then you're you're hill climbing into that. Is it you're hill climbing into that. Is it you're hill climbing into that. Is it good? I think it's extremely impressive good? I think it's extremely impressive good? I think it's extremely impressive as a as a as a um what they achieved in terms of uh um what they achieved in terms of uh um what they achieved in terms of uh zero human input and proving that you zero human input and proving that you zero human input and proving that you can match to an objective function. I can match to an objective function. I can match to an objective function. I don't consider that to be wildly don't consider that to be wildly don't consider that to be wildly surprising. That's what AI is good for.
-
surprising. That's what AI is good for. surprising. That's what AI is good for. Like in if you look at what happened, it Like in if you look at what happened, it Like in if you look at what happened, it basically transcoded LVM, GCC, other C basically transcoded LVM, GCC, other C basically transcoded LVM, GCC, other C compilers that it has in its training compilers that it has in its training compilers that it has in its training set into Rust. And so it uses the set into Rust. And so it uses the set into Rust. And so it uses the language translation abilities of language translation abilities of language translation abilities of transformers very effectively. But transformers very effectively. But transformers very effectively. But again, he's good at that. I didn't see again, he's good at that. I didn't see again, he's good at that. I didn't see anything novel. I didn't see anything anything novel. I didn't see anything anything novel. I didn't see anything where I'm like, "Wow, that's a good where I'm like, "Wow, that's a good where I'm like, "Wow, that's a good idea." No. idea." No. idea." No. >> Doesn't that make sense, though? Because >> Doesn't that make sense, though? Because >> Doesn't that make sense, though? Because I I've been using it like everyone knows I I've been using it like everyone knows I I've been using it like everyone knows that Claude, as an example, in Opus that Claude, as an example, in Opus that Claude, as an example, in Opus makes websites of a certain style. So, I makes websites of a certain style. So, I makes websites of a certain style. So, I skinned a couple of my websites and you skinned a couple of my websites and you skinned a couple of my websites and you can see the kind of pieces of Claude can see the kind of pieces of Claude can see the kind of pieces of Claude where it's like, "Oh, they love a text where it's like, "Oh, they love a text where it's like, "Oh, they love a text gradient and their their light modes and gradient and their their light modes and gradient and their their light modes and their dark modes look the And I asked my their dark modes look the And I asked my their dark modes look the And I asked my son about my website and he says it son about my website and he says it son about my website and he says it looks mid looks mid looks mid >> because he's young and everything's mid >> because he's young and everything's mid >> because he's young and everything's mid when you're 18. And but mid is the when you're 18. And but mid is the when you're 18. And but mid is the statistical statistical statistical part of the bell curve. So people are part of the bell curve. So people are part of the bell curve. So people are like, "Oh man, they stole they stole like, "Oh man, they stole they stole like, "Oh man, they stole they stole Latler's LLVM and they stole some GCC Latler's LLVM and they stole some GCC Latler's LLVM and they stole some GCC code. It's total ripoff." And it's like, code. It's total ripoff." And it's like, code. It's total ripoff." And it's like, well, no, it's it's the one that we all well, no, it's it's the one that we all well, no, it's it's the one that we all use. Like I would look at it if I were use. Like I would look at it if I were use. Like I would look at it if I were to do a compiler tomorrow. Like it's to do a compiler tomorrow. Like it's to do a compiler tomorrow. Like it's mid, not in a bad way, in the fat part mid, not in a bad way, in the fat part mid, not in a bad way, in the fat part of the bell curve way. It's expected.
-
of the bell curve way. It's expected. of the bell curve way. It's expected. You would have been surprised if it had You would have been surprised if it had You would have been surprised if it had come up with something novel come up with something novel come up with something novel >> because it's not trained on novel, it's >> because it's not trained on novel, it's >> because it's not trained on novel, it's trained on the standard. trained on the standard. trained on the standard. >> Well, absolutely. I completely agree >> Well, absolutely. I completely agree >> Well, absolutely. I completely agree with you and I both agree with you and with you and I both agree with you and with you and I both agree with you and then I'll lean in further, right, which then I'll lean in further, right, which then I'll lean in further, right, which is AI and LM are distribution followers, is AI and LM are distribution followers, is AI and LM are distribution followers, right? And so they're finding that right? And so they're finding that right? And so they're finding that midpoint in the distribution and they midpoint in the distribution and they midpoint in the distribution and they can rapidly follow that. They can do can rapidly follow that. They can do can rapidly follow that. They can do some air quote innovative stuff in some air quote innovative stuff in some air quote innovative stuff in limited spaces, but um but really that's limited spaces, but um but really that's limited spaces, but um but really that's what they're designed for. But let me what they're designed for. But let me what they're designed for. But let me also give you another hot take. LVM like also give you another hot take. LVM like also give you another hot take. LVM like it's a good thing. I'm a fan, but it's it's a good thing. I'm a fan, but it's it's a good thing. I'm a fan, but it's also 25 years old and not a great thing, also 25 years old and not a great thing, also 25 years old and not a great thing, right? And so following right? And so following right? And so following >> 25 years old compiler technology is >> 25 years old compiler technology is >> 25 years old compiler technology is actually not even that awesome. LVM is actually not even that awesome. LVM is actually not even that awesome. LVM is one of the most widely understood one of the most widely understood one of the most widely understood compilers out there because there's so compilers out there because there's so compilers out there because there's so many people working on it and it gets many people working on it and it gets many people working on it and it gets used in a lot of ways, but that doesn't used in a lot of ways, but that doesn't used in a lot of ways, but that doesn't make it the best. And so I've been make it the best. And so I've been make it the best. And so I've been working a lot of new compilers since working a lot of new compilers since working a lot of new compilers since then that are way better. Okay. So, then that are way better. Okay. So, then that are way better. Okay. So, that's a great point. that's a great point. that's a great point. >> Very interesting to see that. >> Very interesting to see that. >> Very interesting to see that. >> Yeah. Because there's a midbias and it's >> Yeah. Because there's a midbias and it's >> Yeah. Because there's a midbias and it's like, yes, I'm going to use the last 25 like, yes, I'm going to use the last 25 like, yes, I'm going to use the last 25 years of work, but is it interesting years of work, but is it interesting years of work, but is it interesting that it didn't discover and think about that it didn't discover and think about that it didn't discover and think about Mojo and the work that you're doing Mojo and the work that you're doing Mojo and the work that you're doing there and why did it there and why did it there and why did it >> or ML or these things that are much more >> or ML or these things that are much more >> or ML or these things that are much more new? And so, this is also where it's new? And so, this is also where it's new? And so, this is also where it's very funny. Uh, the LVM community is very funny. Uh, the LVM community is very funny. Uh, the LVM community is actively working on getting rid of this actively working on getting rid of this actively working on getting rid of this thing called get element pointer out of thing called get element pointer out of thing called get element pointer out of LVM.
-
LVM. LVM. >> And so, it's totally in the design for >> And so, it's totally in the design for >> And so, it's totally in the design for the cloud C compiler. And so again this the cloud C compiler. And so again this the cloud C compiler. And so again this uh you can project forward and say well uh you can project forward and say well uh you can project forward and say well teams that proactively and actively teams that proactively and actively teams that proactively and actively adopt adopt adopt LLM based codegen LLM based codegen LLM based codegen >> in the absence [clears throat] of >> in the absence [clears throat] of >> in the absence [clears throat] of judgment right are they actually going judgment right are they actually going judgment right are they actually going to be held back to be held back to be held back right [snorts] because they're not even right [snorts] because they're not even right [snorts] because they're not even going to be at the forefront of tech going to be at the forefront of tech going to be at the forefront of tech they're going to be I don't know they're going to be I don't know they're going to be I don't know probably not 25 years behind but they're probably not 25 years behind but they're probably not 25 years behind but they're going to be uh not not getting the best going to be uh not not getting the best going to be uh not not getting the best technology and the best outcome for the technology and the best outcome for the technology and the best outcome for the product. product. product. >> Yeah. Now, I think the mediator on that >> Yeah. Now, I think the mediator on that >> Yeah. Now, I think the mediator on that is that not all software needs to be is that not all software needs to be is that not all software needs to be quote the best or the industry leader. quote the best or the industry leader. quote the best or the industry leader. It just needs to be effective. And so, It just needs to be effective. And so, It just needs to be effective. And so, there's probably space for all these there's probably space for all these there's probably space for all these things. things. things. >> Yeah. And there's arguably like they had >> Yeah. And there's arguably like they had >> Yeah. And there's arguably like they had a very well understood uh goal. They had a very well understood uh goal. They had a very well understood uh goal. They had a tests that laid out like making one a tests that laid out like making one a tests that laid out like making one like you said in your blog post that like you said in your blog post that like you said in your blog post that it's something that a good quality team it's something that a good quality team it's something that a good quality team of undergraduates would come together of undergraduates would come together of undergraduates would come together and get a B on or something like that. and get a B on or something like that. and get a B on or something like that. Like it's pretty pretty decent. Like it's pretty pretty decent. Like it's pretty pretty decent. >> Well, they'd probably get an A. Think >> Well, they'd probably get an A. Think >> Well, they'd probably get an A. Think they get an A. It is it is quite a lot they get an A. It is it is quite a lot they get an A. It is it is quite a lot of work but but yeah I mean I think it's of work but but yeah I mean I think it's of work but but yeah I mean I think it's it's super interesting as an artifact it's super interesting as an artifact it's super interesting as an artifact but this is also where when people jump but this is also where when people jump but this is also where when people jump to it's the end of times and humans are to it's the end of times and humans are to it's the end of times and humans are obsolete and things like this that's obsolete and things like this that's obsolete and things like this that's obviously a hyperbole and it's I don't obviously a hyperbole and it's I don't obviously a hyperbole and it's I don't think it's constructive and I think it think it's constructive and I think it think it's constructive and I think it distracts from where the actual value distracts from where the actual value distracts from where the actual value is. So is. So is. So >> yeah I think I do I do agree that every >> yeah I think I do I do agree that every >> yeah I think I do I do agree that every time some president or you know some time some president or you know some time some president or you know some billionaire person says oh yeah all all billionaire person says oh yeah all all billionaire person says oh yeah all all of these jobs will be gone in 12 months of these jobs will be gone in 12 months of these jobs will be gone in 12 months that's probably not helpful for anyone that's probably not helpful for anyone that's probably not helpful for anyone to be saying stuff like that. Yeah, it's to be saying stuff like that. Yeah, it's to be saying stuff like that. Yeah, it's well and it's not backed up by data.
-
well and it's not backed up by data. well and it's not backed up by data. Yeah, Yeah, Yeah, >> right. I mean there are more programmers >> right. I mean there are more programmers >> right. I mean there are more programmers now than ever. Um the job market is now than ever. Um the job market is now than ever. Um the job market is actually quite hot. It's a lot of people actually quite hot. It's a lot of people actually quite hot. It's a lot of people are scared and there's a lot of are scared and there's a lot of are scared and there's a lot of questions, right? But it's more about questions, right? But it's more about questions, right? But it's more about projecting forward. And so this is also projecting forward. And so this is also projecting forward. And so this is also the question of like okay when AGI the question of like okay when AGI the question of like okay when AGI happens dot dot dot well you can you can happens dot dot dot well you can you can happens dot dot dot well you can you can you can speculate whatever you want but you can speculate whatever you want but you can speculate whatever you want but AGI hasn't happened and nobody can even AGI hasn't happened and nobody can even AGI hasn't happened and nobody can even define AGI. So [laughter] I I think that define AGI. So [laughter] I I think that define AGI. So [laughter] I I think that there's a lot of work to be done between there's a lot of work to be done between there's a lot of work to be done between now and that theoretical future. now and that theoretical future. now and that theoretical future. >> Yeah. and will next token prediction and >> Yeah. and will next token prediction and >> Yeah. and will next token prediction and all the things behind it lead us into all the things behind it lead us into all the things behind it lead us into like a really smart like a really smart like a really smart fella or you know gal that's like we can fella or you know gal that's like we can fella or you know gal that's like we can talk to talk to talk to >> but also I mean again I look at AI is >> but also I mean again I look at AI is >> but also I mean again I look at AI is closing gaps right if you don't know closing gaps right if you don't know closing gaps right if you don't know what radic sort is or some exotic data what radic sort is or some exotic data what radic sort is or some exotic data structure or something like that you structure or something like that you structure or something like that you don't know what a bree is well cool like don't know what a bree is well cool like don't know what a bree is well cool like you can say hey AI like I have this you can say hey AI like I have this you can say hey AI like I have this problem what is the best way to solve it problem what is the best way to solve it problem what is the best way to solve it and it can come up with some exotic data and it can come up with some exotic data and it can come up with some exotic data structure and maybe you have no idea and structure and maybe you have no idea and structure and maybe you have no idea and it magically lifts you and fills in it magically lifts you and fills in it magically lifts you and fills in something that you didn't know. And something that you didn't know. And something that you didn't know. And that's incredibly powerful that can lead that's incredibly powerful that can lead that's incredibly powerful that can lead to much better software. And so it's not to much better software. And so it's not to much better software. And so it's not BS, right? But it's also not magic. And BS, right? But it's also not magic. And BS, right? But it's also not magic. And so like that's the nuance you have to so like that's the nuance you have to so like that's the nuance you have to find.
-
find. find. >> Well, that's a great point. Like I'd >> Well, that's a great point. Like I'd >> Well, that's a great point. Like I'd like to always abuse Arthur C. Clark and like to always abuse Arthur C. Clark and like to always abuse Arthur C. Clark and say that like each additional layer of say that like each additional layer of say that like each additional layer of abstraction is indistinguishable from abstraction is indistinguishable from abstraction is indistinguishable from magic. And like the stack is pretty deep magic. And like the stack is pretty deep magic. And like the stack is pretty deep now. And if you're if you're a React now. And if you're if you're a React now. And if you're if you're a React programmer, the world's magic for you. programmer, the world's magic for you. programmer, the world's magic for you. And like maybe you don't even know that And like maybe you don't even know that And like maybe you don't even know that V8 exists as a concept. And you know, V8 exists as a concept. And you know, V8 exists as a concept. And you know, people tease me for my Altars and my people tease me for my Altars and my people tease me for my Altars and my PDP11s, but it's a way of staying PDP11s, but it's a way of staying PDP11s, but it's a way of staying grounded just as you going and wood grounded just as you going and wood grounded just as you going and wood working on woodworking as opposed to working on woodworking as opposed to working on woodworking as opposed to going to IKEA as a way of you being going to IKEA as a way of you being going to IKEA as a way of you being grounded. grounded. grounded. >> That's right. >> That's right. >> That's right. >> As well. >> As well. >> As well. >> Well, the analog world's also pretty >> Well, the analog world's also pretty >> Well, the analog world's also pretty cool. So, knowing how things work is cool. So, knowing how things work is cool. So, knowing how things work is pretty cool, too. So, pretty cool, too. So, pretty cool, too. So, >> and everything's a conspiracy when you >> and everything's a conspiracy when you >> and everything's a conspiracy when you don't know how things work. One other don't know how things work. One other don't know how things work. One other thing that's I think worth noting of thing that's I think worth noting of thing that's I think worth noting of course is that they they targeted CPUs, course is that they they targeted CPUs, course is that they they targeted CPUs, but I know that you believe that we're but I know that you believe that we're but I know that you believe that we're not necessarily in a CPUcentric world not necessarily in a CPUcentric world not necessarily in a CPUcentric world right now and that we've got these right now and that we've got these right now and that we've got these perfectly chromulent GPUs that are out perfectly chromulent GPUs that are out perfectly chromulent GPUs that are out there and so few ways to talk to them, there and so few ways to talk to them, there and so few ways to talk to them, but you're going to crack that. but you're going to crack that. but you're going to crack that. >> Yeah. So, I mean, if you extrapolate >> Yeah. So, I mean, if you extrapolate >> Yeah. So, I mean, if you extrapolate even more, like forget about AI, go back even more, like forget about AI, go back even more, like forget about AI, go back to humans to humans to humans >> because I I I'm I admit I'm kind of fond >> because I I I'm I admit I'm kind of fond >> because I I I'm I admit I'm kind of fond of humans. I don't know about you. I of humans. I don't know about you. I of humans. I don't know about you. I think humans are actually the more the think humans are actually the more the think humans are actually the more the more important thing here particularly more important thing here particularly more important thing here particularly at R at large.
-
at R at large. at R at large. >> Um so many humans are worried about >> Um so many humans are worried about >> Um so many humans are worried about CPUs. CPUs. CPUs. >> CPUs are cool. They're very important. >> CPUs are cool. They're very important. >> CPUs are cool. They're very important. Like they run a ton of compute but Like they run a ton of compute but Like they run a ton of compute but that's not where the billions of dollars that's not where the billions of dollars that's not where the billions of dollars of capex are going. That's not where all of capex are going. That's not where all of capex are going. That's not where all the big developments are happening. And the big developments are happening. And the big developments are happening. And what's happened is that you know kind of what's happened is that you know kind of what's happened is that you know kind of you can peg it in different ways but MOS you can peg it in different ways but MOS you can peg it in different ways but MOS law ended right. We're not getting free law ended right. We're not getting free law ended right. We're not getting free single core, single thread CPU single core, single thread CPU single core, single thread CPU performance like we used to back in the performance like we used to back in the performance like we used to back in the day. day. day. >> Y >> Y >> Y >> and so we went from single core machines >> and so we went from single core machines >> and so we went from single core machines to, you know, two cores or four cores. to, you know, two cores or four cores. to, you know, two cores or four cores. Now a cell phone has eight cores. Now a cell phone has eight cores. Now a cell phone has eight cores. Woohoo. But now you have GPUs with Woohoo. But now you have GPUs with Woohoo. But now you have GPUs with hundreds or thousands of cores. You have hundreds or thousands of cores. You have hundreds or thousands of cores. You have AS6 that are designed for specific AS6 that are designed for specific AS6 that are designed for specific workloads. And let me tell you, Rust workloads. And let me tell you, Rust workloads. And let me tell you, Rust does not run on a cerebrous system, does not run on a cerebrous system, does not run on a cerebrous system, right? That's not a thing. And so to me, right? That's not a thing. And so to me, right? That's not a thing. And so to me, I think it's really interesting. And you I think it's really interesting. And you I think it's really interesting. And you go back to the 2016 2017 time for me it go back to the 2016 2017 time for me it go back to the 2016 2017 time for me it wasn't just about AI is interesting. It wasn't just about AI is interesting. It wasn't just about AI is interesting. It became a well how do you do this became a well how do you do this became a well how do you do this effectively? And I you know got AI pill effectively? And I you know got AI pill effectively? And I you know got AI pill back in the day because of the things back in the day because of the things back in the day because of the things that only AI could do back then. You that only AI could do back then. You that only AI could do back then. You know started by seeing dogs and cats but know started by seeing dogs and cats but know started by seeing dogs and cats but then it turned into this really then it turned into this really then it turned into this really interesting form of compute. And one of interesting form of compute. And one of interesting form of compute. And one of the things that I think is just sitting the things that I think is just sitting the things that I think is just sitting there in plain sight that I'm looking at there in plain sight that I'm looking at there in plain sight that I'm looking at all day long that very few other people all day long that very few other people all day long that very few other people see is that well rewriting C code into see is that well rewriting C code into see is that well rewriting C code into Rust might be fun, right? But that's not Rust might be fun, right? But that's not Rust might be fun, right? But that's not actually moving the world forward.
-
actually moving the world forward. actually moving the world forward. Meanwhile, we have all these crazy GPUs Meanwhile, we have all these crazy GPUs Meanwhile, we have all these crazy GPUs and all this compute out there that and all this compute out there that and all this compute out there that nobody knows how to program. nobody knows how to program. nobody knows how to program. And so to me, my mission, current And so to me, my mission, current And so to me, my mission, current mission is saying like, let's crack that mission is saying like, let's crack that mission is saying like, let's crack that open. Let's make it so it's way more open. Let's make it so it's way more open. Let's make it so it's way more accessible. Let's make it so that the accessible. Let's make it so that the accessible. Let's make it so that the tools are actually a joy to use. And by tools are actually a joy to use. And by tools are actually a joy to use. And by the way, even CPUs are crazy the way, even CPUs are crazy the way, even CPUs are crazy complicated. Vector SIMD, they have complicated. Vector SIMD, they have complicated. Vector SIMD, they have tensor cores on your CPU, all this tensor cores on your CPU, all this tensor cores on your CPU, all this stuff. And most programming languages stuff. And most programming languages stuff. And most programming languages can't even acknowledge or spell float 4 can't even acknowledge or spell float 4 can't even acknowledge or spell float 4 or float 8 or things like this. And if or float 8 or things like this. And if or float 8 or things like this. And if you're using languages for 15 years ago, you're using languages for 15 years ago, you're using languages for 15 years ago, which all of uh at least Swift that I which all of uh at least Swift that I which all of uh at least Swift that I worked on and Rust and Typescript all worked on and Rust and Typescript all worked on and Rust and Typescript all kind of came from 2010, um well then how kind of came from 2010, um well then how kind of came from 2010, um well then how are you programming modern hardware are you programming modern hardware are you programming modern hardware >> and CPUs? There's just not a good answer >> and CPUs? There's just not a good answer >> and CPUs? There's just not a good answer there. And so this is where I think we there. And so this is where I think we there. And so this is where I think we we all uh benefit from leaning into this we all uh benefit from leaning into this we all uh benefit from leaning into this and solving this. And that's my current and solving this. And that's my current and solving this. And that's my current mission. This leads us to Mojo and mission. This leads us to Mojo and mission. This leads us to Mojo and Modular and what we're doing here. I Modular and what we're doing here. I Modular and what we're doing here. I [snorts] hope I can ask this right [snorts] hope I can ask this right [snorts] hope I can ask this right because I'm trying to see the big because I'm trying to see the big because I'm trying to see the big picture in my own personal context picture in my own personal context picture in my own personal context window is still quite limited. But when window is still quite limited. But when window is still quite limited. But when I teased you earlier about the long con, I teased you earlier about the long con, I teased you earlier about the long con, I mean that in a positive way. By the I mean that in a positive way. By the I mean that in a positive way. By the long con, I mean life's work is like you long con, I mean life's work is like you long con, I mean life's work is like you can kind of see down a tunnel and you're can kind of see down a tunnel and you're can kind of see down a tunnel and you're like, you know, you built LVM, you now like, you know, you built LVM, you now like, you know, you built LVM, you now you've got multi-level intermediate you've got multi-level intermediate you've got multi-level intermediate representation, MLR. It's not the representation, MLR. It's not the representation, MLR. It's not the intermediate language from net. It's not intermediate language from net. It's not intermediate language from net. It's not bite code, but it's a way to have a bite code, but it's a way to have a bite code, but it's a way to have a hybrid intermediate language that can hybrid intermediate language that can hybrid intermediate language that can have different representations and also have different representations and also have different representations and also be specific to certain hardware.
-
be specific to certain hardware. be specific to certain hardware. >> Yeah. >> Yeah. >> Yeah. >> So, >> So, >> So, did you know that you were kind of did you know that you were kind of did you know that you were kind of building these stair steps and then building these stair steps and then building these stair steps and then stepping on them and you knew what you stepping on them and you knew what you stepping on them and you knew what you were reaching for? Cuz this is a long were reaching for? Cuz this is a long were reaching for? Cuz this is a long series of steps. series of steps. series of steps. >> Two, five years goes faster than you >> Two, five years goes faster than you >> Two, five years goes faster than you might think. might think. might think. >> But to look back and go, "Yeah, exactly >> But to look back and go, "Yeah, exactly >> But to look back and go, "Yeah, exactly as I planned." You know what I mean? as I planned." You know what I mean? as I planned." You know what I mean? because you're building Mojo on top of because you're building Mojo on top of because you're building Mojo on top of MLI which is in you know part of LLVM MLI which is in you know part of LLVM MLI which is in you know part of LLVM which is part of which is part of which which is part of which is part of which which is part of which is part of which part of like it's it's it's it's part of like it's it's it's it's part of like it's it's it's it's thoughtful turtles all the way down. thoughtful turtles all the way down. thoughtful turtles all the way down. >> Well, so so my journey is is >> Well, so so my journey is is >> Well, so so my journey is is how how should I say this? Like not how how should I say this? Like not how how should I say this? Like not satisfied with the status quo ever. satisfied with the status quo ever. satisfied with the status quo ever. >> Like I'm always pushing and kind of I >> Like I'm always pushing and kind of I >> Like I'm always pushing and kind of I mean part of the reason I left Apple is mean part of the reason I left Apple is mean part of the reason I left Apple is I was bored, right? and it was not I was bored, right? and it was not I was bored, right? and it was not exciting and I I wanted to be learning exciting and I I wanted to be learning exciting and I I wanted to be learning and growing and doing new things and so and growing and doing new things and so and growing and doing new things and so amazing. I love the Apple team. I love amazing. I love the Apple team. I love amazing. I love the Apple team. I love my position and love swift. It's a good my position and love swift. It's a good my position and love swift. It's a good thing but but also there's a whole world thing but but also there's a whole world thing but but also there's a whole world out there that's happening and changing out there that's happening and changing out there that's happening and changing and so what I've been kind of on is this and so what I've been kind of on is this and so what I've been kind of on is this quest of figuring this stuff out. And so quest of figuring this stuff out. And so quest of figuring this stuff out. And so AI I I fig I feel like I finally AI I I fig I feel like I finally AI I I fig I feel like I finally understand what's going on with compute understand what's going on with compute understand what's going on with compute >> finally now. This is the time >> finally now. This is the time >> finally now. This is the time >> finally 10 years in right and what we >> finally 10 years in right and what we >> finally 10 years in right and what we need is LVM but for AI chips need is LVM but for AI chips need is LVM but for AI chips >> basically >> basically >> basically >> like we need we need a way to program it >> like we need we need a way to program it >> like we need we need a way to program it that scales across all the silicon that scales across all the silicon that scales across all the silicon >> we need something that's easy to use >> we need something that's easy to use >> we need something that's easy to use that's familiar to people and we need that's familiar to people and we need that's familiar to people and we need people to be able to adopt this which people to be able to adopt this which people to be able to adopt this which means good tools and a good experience means good tools and a good experience means good tools and a good experience and easy to use and like all these and easy to use and like all these and easy to use and like all these things that are consistent across dev
-
things that are consistent across dev things that are consistent across dev tools but in their own context. And so tools but in their own context. And so tools but in their own context. And so what that journey is, what that bridge what that journey is, what that bridge what that journey is, what that bridge is is the world's best way to program is is the world's best way to program is is the world's best way to program CPUs because that's what everybody's on. CPUs because that's what everybody's on. CPUs because that's what everybody's on. A lot of people are in Python for A lot of people are in Python for A lot of people are in Python for example and C++ and that's the way example and C++ and that's the way example and C++ and that's the way things are and but none of these things things are and but none of these things things are and but none of these things are actually that great either my humble are actually that great either my humble are actually that great either my humble opinion. And so if you can meet people opinion. And so if you can meet people opinion. And so if you can meet people there, you can lift them then get them there, you can lift them then get them there, you can lift them then get them onto GPUs, get them onto AS6 and give a onto GPUs, get them onto AS6 and give a onto GPUs, get them onto AS6 and give a progressive path. I believe that we can progressive path. I believe that we can progressive path. I believe that we can actually crack open this gigantic actually crack open this gigantic actually crack open this gigantic compute problem. And part of my core compute problem. And part of my core compute problem. And part of my core hypothesis, which has been consistent hypothesis, which has been consistent hypothesis, which has been consistent for years now, is that if you look for years now, is that if you look for years now, is that if you look forward at any point in time five years forward at any point in time five years forward at any point in time five years from now, like compute's only going to from now, like compute's only going to from now, like compute's only going to be weirder. It's only going to be more be weirder. It's only going to be more be weirder. It's only going to be more specialized, more heterogeneous, more specialized, more heterogeneous, more specialized, more heterogeneous, more chaotic, more fragmented. And so we as a chaotic, more fragmented. And so we as a chaotic, more fragmented. And so we as a programmer community need to have a the programmer community need to have a the programmer community need to have a the ability to build that and use that ability to build that and use that ability to build that and use that because you don't want to use 52 because you don't want to use 52 because you don't want to use 52 different compilers from all the different compilers from all the different compilers from all the different vendors that don't work different vendors that don't work different vendors that don't work together. They're speak language. like together. They're speak language. like together. They're speak language. like not to like pull out a specific example, not to like pull out a specific example, not to like pull out a specific example, but it's like I got this brand new but it's like I got this brand new but it's like I got this brand new Windows ARM machine and I was so Windows ARM machine and I was so Windows ARM machine and I was so excited. I'm going to do this. I'm gonna excited. I'm going to do this. I'm gonna excited. I'm going to do this. I'm gonna I'm gonna take over the world with my I'm gonna take over the world with my I'm gonna take over the world with my Windows ARM laptop and it's like, okay, Windows ARM laptop and it's like, okay, Windows ARM laptop and it's like, okay, I'm doing some Python now. We're going I'm doing some Python now. We're going I'm doing some Python now. We're going to do some computer vision and it's to do some computer vision and it's to do some computer vision and it's like, oh, now I just brought a C like, oh, now I just brought a C like, oh, now I just brought a C compiler along for the ride and oh, that compiler along for the ride and oh, that compiler along for the ride and oh, that one doesn't support ARM and oop, this one doesn't support ARM and oop, this one doesn't support ARM and oop, this wheel doesn't do this and that. It's wheel doesn't do this and that. It's wheel doesn't do this and that. It's just like, oh man, I just want to do a just like, oh man, I just want to do a just like, oh man, I just want to do a thing. I want a hot dog or not a hot thing. I want a hot dog or not a hot thing. I want a hot dog or not a hot dog. This was not a hard hello world.
-
dog. This was not a hard hello world. dog. This was not a hard hello world. And then suddenly And then suddenly And then suddenly >> the stack leaked and because I was on a >> the stack leaked and because I was on a >> the stack leaked and because I was on a new processor or a new npu or a new this new processor or a new npu or a new this new processor or a new npu or a new this I was juggling literally Python and C# I was juggling literally Python and C# I was juggling literally Python and C# and Rust and then like wondering where and Rust and then like wondering where and Rust and then like wondering where CUDA was and D and you know like you say CUDA was and D and you know like you say CUDA was and D and you know like you say it all works until it doesn't. it all works until it doesn't. it all works until it doesn't. >> This is the problem with these deep deep >> This is the problem with these deep deep >> This is the problem with these deep deep piles of layered abstractions where none piles of layered abstractions where none piles of layered abstractions where none of the layers knows how the other layer of the layers knows how the other layer of the layers knows how the other layer works. It's beautiful in the demo but works. It's beautiful in the demo but works. It's beautiful in the demo but then it falls apart when you do anything then it falls apart when you do anything then it falls apart when you do anything weird. Let me give you an analogy weird. Let me give you an analogy weird. Let me give you an analogy because uh you and I come from a similar because uh you and I come from a similar because uh you and I come from a similar epoch. epoch. epoch. >> Most people forget what the world was >> Most people forget what the world was >> Most people forget what the world was like before GCC. like before GCC. like before GCC. >> Oh yeah. >> Oh yeah. >> Oh yeah. >> Right. [laughter] And they don't know >> Right. [laughter] And they don't know >> Right. [laughter] And they don't know what autocomp was or why it existed. what autocomp was or why it existed. what autocomp was or why it existed. >> But if you go if you go back in time, >> But if you go if you go back in time, >> But if you go if you go back in time, everybody building CPUs had their own C everybody building CPUs had their own C everybody building CPUs had their own C compiler. compiler. compiler. >> Yeah. >> Yeah. >> Yeah. >> They didn't have AI to build it for them >> They didn't have AI to build it for them >> They didn't have AI to build it for them either, right? And so you got the the either, right? And so you got the the either, right? And so you got the the Deck C compiler and the uh Sequent C Deck C compiler and the uh Sequent C Deck C compiler and the uh Sequent C compiler and the Borland C compiler and compiler and the Borland C compiler and compiler and the Borland C compiler and the uh Sun and the SGI and the HP UX and the uh Sun and the SGI and the HP UX and the uh Sun and the SGI and the HP UX and all these different C compilers. Uh C all these different C compilers. Uh C all these different C compilers. Uh C wasn't even really standardized at that wasn't even really standardized at that wasn't even really standardized at that point either.
-
point either. point either. >> There was a vague understanding of what >> There was a vague understanding of what >> There was a vague understanding of what it was and so none of them actually it was and so none of them actually it was and so none of them actually worked together. And what drove the worked together. And what drove the worked together. And what drove the world forward is when GCC came on the world forward is when GCC came on the world forward is when GCC came on the scene. It was free and it was portable scene. It was free and it was portable scene. It was free and it was portable and it kind of scorched earth all this and it kind of scorched earth all this and it kind of scorched earth all this proprietary nonsense and unified the proprietary nonsense and unified the proprietary nonsense and unified the world. And as a consequence of that world. And as a consequence of that world. And as a consequence of that happening, Linux was possible. Like an happening, Linux was possible. Like an happening, Linux was possible. Like an entire ecosystem entire ecosystem entire ecosystem like exploded in vibrancy and like like exploded in vibrancy and like like exploded in vibrancy and like capability because people were able to capability because people were able to capability because people were able to move on with life and get get rid of all move on with life and get get rid of all move on with life and get get rid of all this weird junk. And so what I see today this weird junk. And so what I see today this weird junk. And so what I see today in the hardware is exactly the same in the hardware is exactly the same in the hardware is exactly the same thing. I see every hardware maker thing. I see every hardware maker thing. I see every hardware maker building their own stacks out of building their own stacks out of building their own stacks out of necessity. They don't really want to do necessity. They don't really want to do necessity. They don't really want to do all this stuff. It's actually really all this stuff. It's actually really all this stuff. It's actually really hard and expensive and slow. Some of hard and expensive and slow. Some of hard and expensive and slow. Some of them end up with a better thing than them end up with a better thing than them end up with a better thing than some of the other people, but none of some of the other people, but none of some of the other people, but none of them is compatible, right? And them is compatible, right? And them is compatible, right? And particularly in the AI and the GPU particularly in the AI and the GPU particularly in the AI and the GPU space, everybody's trying to take space, everybody's trying to take space, everybody's trying to take Nvidia's lunch to certain extent, but Nvidia's lunch to certain extent, but Nvidia's lunch to certain extent, but CUDA doesn't run on their stuff and CUDA doesn't run on their stuff and CUDA doesn't run on their stuff and their stuff doesn't run on Nvidia. their stuff doesn't run on Nvidia. their stuff doesn't run on Nvidia. And so a lot of what our aha moment is And so a lot of what our aha moment is And so a lot of what our aha moment is is saying several different factors have is saying several different factors have is saying several different factors have to come together to crack this open. One to come together to crack this open. One to come together to crack this open. One is there's the technical pieces. You is there's the technical pieces. You is there's the technical pieces. You know you can talk about being able to know you can talk about being able to know you can talk about being able to target GPUs and unlock full performance target GPUs and unlock full performance target GPUs and unlock full performance of silicon and scale from CPUs to GPU of silicon and scale from CPUs to GPU of silicon and scale from CPUs to GPU all that kind of stuff. But the other is all that kind of stuff. But the other is all that kind of stuff. But the other is incentive structure. You need an incentive structure. You need an incentive structure. You need an organization which is modular that is organization which is modular that is organization which is modular that is not tied to a chip. It's not tied to a not tied to a chip. It's not tied to a not tied to a chip. It's not tied to a hyperscaler. tied to an LLM, not tied to hyperscaler. tied to an LLM, not tied to hyperscaler. tied to an LLM, not tied to an autonomous car. Right.
-
an autonomous car. Right. an autonomous car. Right. >> I want to make sure people understand >> I want to make sure people understand >> I want to make sure people understand yours. You're you're talking modular, yours. You're you're talking modular, yours. You're you're talking modular, the proper noun. You're saying modular, the proper noun. You're saying modular, the proper noun. You're saying modular, you're a company, not a modular company. you're a company, not a modular company. you're a company, not a modular company. >> The company, my mission, right, is >> The company, my mission, right, is >> The company, my mission, right, is formed because we need to solve this formed because we need to solve this formed because we need to solve this problem of having a team of people that problem of having a team of people that problem of having a team of people that could go and build this stuff. But then could go and build this stuff. But then could go and build this stuff. But then we also had to solve another problem, we also had to solve another problem, we also had to solve another problem, which is an economic problem, which is which is an economic problem, which is which is an economic problem, which is this is a really hard problem. this is a really hard problem. this is a really hard problem. >> Mhm. >> Mhm. >> Mhm. >> You need a very large team but years to >> You need a very large team but years to >> You need a very large team but years to do this work. You're implying you're not do this work. You're implying you're not do this work. You're implying you're not in the pocket of like Nvidia or the in the pocket of like Nvidia or the in the pocket of like Nvidia or the pocket of these people, right? Which pocket of these people, right? Which pocket of these people, right? Which would be able to provide all of those would be able to provide all of those would be able to provide all of those resources, but then they would make the resources, but then they would make the resources, but then they would make the the default be the Nvidia chip. the default be the Nvidia chip. the default be the Nvidia chip. >> That's right. Well, and so I was at >> That's right. Well, and so I was at >> That's right. Well, and so I was at Google, for example, and I was trying to Google, for example, and I was trying to Google, for example, and I was trying to solve and crack and I learned a solve and crack and I learned a solve and crack and I learned a tremendous amount from Google working on tremendous amount from Google working on tremendous amount from Google working on TPUs and scaling their software stack. TPUs and scaling their software stack. TPUs and scaling their software stack. Um, amazing team, amazing people, but it Um, amazing team, amazing people, but it Um, amazing team, amazing people, but it it wasn't nefarious. Google's a very uh it wasn't nefarious. Google's a very uh it wasn't nefarious. Google's a very uh open- source friendly community and open- source friendly community and open- source friendly community and that's actually where we built and that's actually where we built and that's actually where we built and released ML donate to LVM. Google's released ML donate to LVM. Google's released ML donate to LVM. Google's amazing and lots and lots and lots of amazing and lots and lots and lots of amazing and lots and lots and lots of different ways but like any business different ways but like any business different ways but like any business they have their priorities. They have they have their priorities. They have they have their priorities. They have their internal workloads and of course their internal workloads and of course their internal workloads and of course all your best people always get sucked all your best people always get sucked all your best people always get sucked in the fire drill of the day.
-
in the fire drill of the day. in the fire drill of the day. They also at the time had a performance They also at the time had a performance They also at the time had a performance review process that ticked every six review process that ticked every six review process that ticked every six months. And so projects that took longer months. And so projects that took longer months. And so projects that took longer than six months to do were pretty hard than six months to do were pretty hard than six months to do were pretty hard to justify both uh up the chain, but to justify both uh up the chain, but to justify both uh up the chain, but much more importantly to anybody that much more importantly to anybody that much more importantly to anybody that wants to get good performance reviews wants to get good performance reviews wants to get good performance reviews and wants to get, you know, demonstrate and wants to get, you know, demonstrate and wants to get, you know, demonstrate their impact on key workloads and things their impact on key workloads and things their impact on key workloads and things like this. And so I found it to be like this. And so I found it to be like this. And so I found it to be extremely difficult to justify that extremely difficult to justify that extremely difficult to justify that work. And I'm a pretty stubborn, pretty work. And I'm a pretty stubborn, pretty work. And I'm a pretty stubborn, pretty bullheaded guy. And so like yes was able bullheaded guy. And so like yes was able bullheaded guy. And so like yes was able to build mir was able to build a new to build mir was able to build a new to build mir was able to build a new runtime for TPUs this PGRT thing uh that runtime for TPUs this PGRT thing uh that runtime for TPUs this PGRT thing uh that underlies jacks and all that kind of underlies jacks and all that kind of underlies jacks and all that kind of stuff and made some major contributions stuff and made some major contributions stuff and made some major contributions to the stack moving beyond what they to the stack moving beyond what they to the stack moving beyond what they had. Um but it was very very very had. Um but it was very very very had. Um but it was very very very difficult and so this is this is difficult and so this is this is difficult and so this is this is actually a pretty significant challenge actually a pretty significant challenge actually a pretty significant challenge when you want to do something that is when you want to do something that is when you want to do something that is like a fundamental step forward in terms like a fundamental step forward in terms like a fundamental step forward in terms of languages systems particularly in the of languages systems particularly in the of languages systems particularly in the AI space. AI space. AI space. >> Mhm. >> Mhm. >> Mhm. You couldn't you could have just taken You couldn't you could have just taken You couldn't you could have just taken the language and just pick one and just the language and just pick one and just the language and just pick one and just made Rust++. You could have made Swift made Rust++. You could have made Swift made Rust++. You could have made Swift super Swift super Swift super Swift >> but you didn't do that.
-
>> but you didn't do that. >> but you didn't do that. >> That's right >> That's right >> That's right >> cuz none they were all designed for CPUs >> cuz none they were all designed for CPUs >> cuz none they were all designed for CPUs and everyone's thinking about CPUs and everyone's thinking about CPUs and everyone's thinking about CPUs because that's what everyone had in 2010 because that's what everyone had in 2010 because that's what everyone had in 2010 when they were thinking about these when they were thinking about these when they were thinking about these languages. languages. languages. >> Well, so so funny story when we started >> Well, so so funny story when we started >> Well, so so funny story when we started Modular, which is now over four years Modular, which is now over four years Modular, which is now over four years ago, my co-founder and I looked at each ago, my co-founder and I looked at each ago, my co-founder and I looked at each other and we said, "We're definitely not other and we said, "We're definitely not other and we said, "We're definitely not doing a language doing a language doing a language Everybody knows that languages are a Everybody knows that languages are a Everybody knows that languages are a terrible idea. We have a lot of stuff to terrible idea. We have a lot of stuff to terrible idea. We have a lot of stuff to get done. Like we have a big mission of get done. Like we have a big mission of get done. Like we have a big mission of unifying compute and democratizing and unifying compute and democratizing and unifying compute and democratizing and locking all this compute, but everybody locking all this compute, but everybody locking all this compute, but everybody knows that's a bad idea. And so we spent knows that's a bad idea. And so we spent knows that's a bad idea. And so we spent almost a year working on hardcore almost a year working on hardcore almost a year working on hardcore runtimes, low-level thread pools, uh runtimes, low-level thread pools, uh runtimes, low-level thread pools, uh asynchronous communication primitives, asynchronous communication primitives, asynchronous communication primitives, and then dove into the okay, how do we and then dove into the okay, how do we and then dove into the okay, how do we generate high performance kernels first generate high performance kernels first generate high performance kernels first for CPUs? And so in that case, we said, for CPUs? And so in that case, we said, for CPUs? And so in that case, we said, how do we go meet and beat Intel MKL and how do we go meet and beat Intel MKL and how do we go meet and beat Intel MKL and Intel's libraries on their own chips? Intel's libraries on their own chips? Intel's libraries on their own chips? Can we beat them? We need to be able to Can we beat them? We need to be able to Can we beat them? We need to be able to do that and we need to be able to show do that and we need to be able to show do that and we need to be able to show generalization at scale. And so what we generalization at scale. And so what we generalization at scale. And so what we did was we built a whole bunch of really did was we built a whole bunch of really did was we built a whole bunch of really fancy compiler technology using ML from fancy compiler technology using ML from fancy compiler technology using ML from first principles. We started with an first principles. We started with an first principles. We started with an empty git repo and built an entirely new empty git repo and built an entirely new empty git repo and built an entirely new construct and proved that we could construct and proved that we could construct and proved that we could generate very highly parametric very generate very highly parametric very generate very highly parametric very powerful very high leverage abstractions powerful very high leverage abstractions powerful very high leverage abstractions for generating high performance matrix for generating high performance matrix for generating high performance matrix multiplications and similar algorithms multiplications and similar algorithms multiplications and similar algorithms but then ran directly in the problem of but then ran directly in the problem of but then ran directly in the problem of okay well nobody wants to write compiler okay well nobody wants to write compiler okay well nobody wants to write compiler IR by hand that's actually a really IR by hand that's actually a really IR by hand that's actually a really painful and very terrible idea and so painful and very terrible idea and so painful and very terrible idea and so then we said okay let's go shopping what then we said okay let's go shopping what then we said okay let's go shopping what syntax do we want and I did look at
-
syntax do we want and I did look at syntax do we want and I did look at swift I did look at rust I did look at swift I did look at rust I did look at swift I did look at rust I did look at clang like I know many of these systems clang like I know many of these systems clang like I know many of these systems but to the point they don't solve the but to the point they don't solve the but to the point they don't solve the problem like saying okay how are we problem like saying okay how are we problem like saying okay how are we going to add all the floatingoint data going to add all the floatingoint data going to add all the floatingoint data types to C well AI has seven forms of types to C well AI has seven forms of types to C well AI has seven forms of float 8 it feels like all kinds of new float 8 it feels like all kinds of new float 8 it feels like all kinds of new forms of float 4 B float 16 like all of forms of float 4 B float 16 like all of forms of float 4 B float 16 like all of this stuff and it's evolving at a rate this stuff and it's evolving at a rate this stuff and it's evolving at a rate that you can't just keep hard coding that you can't just keep hard coding that you can't just keep hard coding this into the compiler and so we said this into the compiler and so we said this into the compiler and so we said okay well clearly we need library okay well clearly we need library okay well clearly we need library extensibility extensibility extensibility and so Mojo the way it turned out is and so Mojo the way it turned out is and so Mojo the way it turned out is like Yeah, almost everything's in the like Yeah, almost everything's in the like Yeah, almost everything's in the library, not in the compiler. We also library, not in the compiler. We also library, not in the compiler. We also needed the ability to to scale across, needed the ability to to scale across, needed the ability to to scale across, you know, predictability and compile you know, predictability and compile you know, predictability and compile time and all these things that really time and all these things that really time and all these things that really matter at scale for developer matter at scale for developer matter at scale for developer experience. And so these Python DSLs we experience. And so these Python DSLs we experience. And so these Python DSLs we looked at really were unsatisfactory. looked at really were unsatisfactory. looked at really were unsatisfactory. And so despite not wanting to do this, And so despite not wanting to do this, And so despite not wanting to do this, we basically kind of as a team looked at we basically kind of as a team looked at we basically kind of as a team looked at this and said, okay, well building a this and said, okay, well building a this and said, okay, well building a language is a heck of a lot of work. language is a heck of a lot of work. language is a heck of a lot of work. It's also not rocket science. Like have It's also not rocket science. Like have It's also not rocket science. Like have done this before. Swift is a good thing done this before. Swift is a good thing done this before. Swift is a good thing for example but like LVM there's a lot for example but like LVM there's a lot for example but like LVM there's a lot of swift the bad parts and we can do of swift the bad parts and we can do of swift the bad parts and we can do something that learns from that something that learns from that something that learns from that experience and do something that really experience and do something that really experience and do something that really moves the world forward and though it moves the world forward and though it moves the world forward and though it would be a long journey we thought that would be a long journey we thought that would be a long journey we thought that you know the stakes and compute and the you know the stakes and compute and the you know the stakes and compute and the future of all these architectures are so future of all these architectures are so future of all these architectures are so important that it was worth the important that it was worth the important that it was worth the investment. Yeah, it feels like if you investment. Yeah, it feels like if you investment. Yeah, it feels like if you want to get something done today, you want to get something done today, you want to get something done today, you end up bouncing around from language to end up bouncing around from language to end up bouncing around from language to language. You prototype it in Python, language. You prototype it in Python, language. You prototype it in Python, then you rewrite it in C++ and CUDA and then you rewrite it in C++ and CUDA and then you rewrite it in C++ and CUDA and then you bunch of do a bunch of then you bunch of do a bunch of then you bunch of do a bunch of bindings, then you end up maintaining bindings, then you end up maintaining bindings, then you end up maintaining two code bases. So my kind of like
-
two code bases. So my kind of like two code bases. So my kind of like armchair ar my armchair quarterback armchair ar my armchair quarterback armchair ar my armchair quarterback analysis is that you kind of wanted analysis is that you kind of wanted analysis is that you kind of wanted Python ergonomics. You kind of want C Python ergonomics. You kind of want C Python ergonomics. You kind of want C and C++ PF. You like Swift style safety, and C++ PF. You like Swift style safety, and C++ PF. You like Swift style safety, but then you need awareness of things but then you need awareness of things but then you need awareness of things that didn't exist 10 years ago like AI that didn't exist 10 years ago like AI that didn't exist 10 years ago like AI hardware. So, hardware. So, hardware. So, >> all of those things combined and while >> all of those things combined and while >> all of those things combined and while you're at it, bring in some cool new you're at it, bring in some cool new you're at it, bring in some cool new ideas like linear independent types. ideas like linear independent types. ideas like linear independent types. Let's bring in like much better uh Let's bring in like much better uh Let's bring in like much better uh ownership and memory destruction ownership and memory destruction ownership and memory destruction behavior and things like this. And let's behavior and things like this. And let's behavior and things like this. And let's move the world forward because, you move the world forward because, you move the world forward because, you know, again, people like to zero in on know, again, people like to zero in on know, again, people like to zero in on Rust with ownership and stuff like this, Rust with ownership and stuff like this, Rust with ownership and stuff like this, but Rust is 15 years old. It's not but Rust is 15 years old. It's not but Rust is 15 years old. It's not >> it's it's it's a wonderful thing for >> it's it's it's a wonderful thing for >> it's it's it's a wonderful thing for what it does, but it's not the best what it does, but it's not the best what it does, but it's not the best thing. thing. thing. >> Yeah. Interesting. Interesting. Okay. So >> Yeah. Interesting. Interesting. Okay. So >> Yeah. Interesting. Interesting. Okay. So then how do I like this seems like this then how do I like this seems like this then how do I like this seems like this is a vision right and surely this is a is a vision right and surely this is a is a vision right and surely this is a vision that's many many years this will vision that's many many years this will vision that's many many years this will come out in a half a decade or a decade come out in a half a decade or a decade come out in a half a decade or a decade right when am I when do I get to right when am I when do I get to right when am I when do I get to actually have this though actually have this though actually have this though >> so this exists today a lot of people are >> so this exists today a lot of people are >> so this exists today a lot of people are actually using this people it's in actually using this people it's in actually using this people it's in production which is pretty cool production which is pretty cool production which is pretty cool >> it's in prod now that's awesome >> it's in prod now that's awesome >> it's in prod now that's awesome >> oh yeah yeah we have customer workloads >> oh yeah yeah we have customer workloads >> oh yeah yeah we have customer workloads that are running all the stuff it's it's that are running all the stuff it's it's that are running all the stuff it's it's not a theory um today you can run mojo not a theory um today you can run mojo not a theory um today you can run mojo you can download pip install it you can you can download pip install it you can you can download pip install it you can run it on wide variety of CPUs embedded run it on wide variety of CPUs embedded run it on wide variety of CPUs embedded devices like Raspberry Pies and stuff devices like Raspberry Pies and stuff devices like Raspberry Pies and stuff like That's fine.
-
like That's fine. like That's fine. >> Okay. >> Okay. >> Okay. >> Runs on Nvidia A100, H100, B100, and a >> Runs on Nvidia A100, H100, B100, and a >> Runs on Nvidia A100, H100, B100, and a ton of their consumer cards. Runs on ton of their consumer cards. Runs on ton of their consumer cards. Runs on AMD, the 300, 355, their RDNA cards, AMD, the 300, 355, their RDNA cards, AMD, the 300, 355, their RDNA cards, which are their consumer ones, and Apple which are their consumer ones, and Apple which are their consumer ones, and Apple GPU. And so, we have other stuff that GPU. And so, we have other stuff that GPU. And so, we have other stuff that we'll announce later, but this isn't a we'll announce later, but this isn't a we'll announce later, but this isn't a theoretical thing. This actually works. theoretical thing. This actually works. theoretical thing. This actually works. >> And one of the things that's really cool >> And one of the things that's really cool >> And one of the things that's really cool about it is, you know, zoom back to the about it is, you know, zoom back to the about it is, you know, zoom back to the modern world and AI. Not only is it modern world and AI. Not only is it modern world and AI. Not only is it possible to do this stuff, but we've possible to do this stuff, but we've possible to do this stuff, but we've unified the programming model for GPUs. unified the programming model for GPUs. unified the programming model for GPUs. >> That's huge because that's definitely >> That's huge because that's definitely >> That's huge because that's definitely not in Nvidia's best interest. not in Nvidia's best interest. not in Nvidia's best interest. >> Correct. Or anybody else's. It's it's >> Correct. Or anybody else's. It's it's >> Correct. Or anybody else's. It's it's not in Apple's best interest either, not in Apple's best interest either, not in Apple's best interest either, right? It's it's the hardware company right? It's it's the hardware company right? It's it's the hardware company problem, right? problem, right? problem, right? >> Yeah. Yeah. >> Yeah. Yeah. >> Yeah. Yeah. >> And so we have I think the biggest >> And so we have I think the biggest >> And so we have I think the biggest open-source kernel library that exists open-source kernel library that exists open-source kernel library that exists with all the matrix multiplications run with all the matrix multiplications run with all the matrix multiplications run all this hardware. It's like over half a all this hardware. It's like over half a all this hardware. It's like over half a million lines of Mojo code and it's now million lines of Mojo code and it's now million lines of Mojo code and it's now indexable by AI. indexable by AI. indexable by AI. And so one of the coolest things about And so one of the coolest things about And so one of the coolest things about AI and one of the things it's actually AI and one of the things it's actually AI and one of the things it's actually really good at is translate thing A into really good at is translate thing A into really good at is translate thing A into language B. And so it turns out that if language B. And so it turns out that if language B. And so it turns out that if you have Python code running on CPU, we you have Python code running on CPU, we you have Python code running on CPU, we have people that are saying, "Hey Claude have people that are saying, "Hey Claude have people that are saying, "Hey Claude skill, move this to Mojo." And they get skill, move this to Mojo." And they get skill, move this to Mojo." And they get 100 times thousand times speed up.
-
100 times thousand times speed up. 100 times thousand times speed up. >> Seriously. And you have got Python >> Seriously. And you have got Python >> Seriously. And you have got Python interop as well, right? You can pass interop as well, right? You can pass interop as well, right? You can pass Python objects into Mojo functions. Python objects into Mojo functions. Python objects into Mojo functions. Yeah. Yeah. Yeah. >> Yeah. And it just works. And so this is >> Yeah. And it just works. And so this is >> Yeah. And it just works. And so this is also where because Mojo is designed for also where because Mojo is designed for also where because Mojo is designed for modern langu modern CPUs. modern langu modern CPUs. modern langu modern CPUs. >> Yeah. Has really badass SIMD vector >> Yeah. Has really badass SIMD vector >> Yeah. Has really badass SIMD vector support. It's it's natively multi-core. support. It's it's natively multi-core. support. It's it's natively multi-core. And so you can just kind of go the AI And so you can just kind of go the AI And so you can just kind of go the AI tools and say, "Hey, uh, can you make tools and say, "Hey, uh, can you make tools and say, "Hey, uh, can you make this go faster?" And we'll say, "Oh, this go faster?" And we'll say, "Oh, this go faster?" And we'll say, "Oh, [clears throat] yeah. I'll vectorize [clears throat] yeah. I'll vectorize [clears throat] yeah. I'll vectorize this for you. Oh, I'll parallelize this this for you. Oh, I'll parallelize this this for you. Oh, I'll parallelize this for you." And because all those for you." And because all those for you." And because all those abstractions are there, like what what abstractions are there, like what what abstractions are there, like what what happens is it just like up uplevels your happens is it just like up uplevels your happens is it just like up uplevels your code you and so you can understand it code you and so you can understand it code you and so you can understand it which is really cool. And so this is which is really cool. And so this is which is really cool. And so this is where like we're in a different era and where like we're in a different era and where like we're in a different era and this codeesign between what AI can do this codeesign between what AI can do this codeesign between what AI can do and what the language can do is I think and what the language can do is I think and what the language can do is I think a completely different dynamic than what a completely different dynamic than what a completely different dynamic than what we had 5 years ago. we had 5 years ago. we had 5 years ago. >> Yeah. I think for the rank and file >> Yeah. I think for the rank and file >> Yeah. I think for the rank and file developers just there's there's the CPU developers just there's there's the CPU developers just there's there's the CPU and then there's these other mysterious and then there's these other mysterious and then there's these other mysterious chips that happen to be in my computer chips that happen to be in my computer chips that happen to be in my computer and to make to unlock that and be able and to make to unlock that and be able and to make to unlock that and be able to do stuff with it even on laptops and to do stuff with it even on laptops and to do stuff with it even on laptops and TPUs and NPUs and things like that is TPUs and NPUs and things like that is TPUs and NPUs and things like that is going to be huge because they're very going to be huge because they're very going to be huge because they're very opaque. If you start thinking I'm going opaque. If you start thinking I'm going opaque. If you start thinking I'm going to learn how to program a GPU. Yeah, to learn how to program a GPU. Yeah, to learn how to program a GPU. Yeah, good luck buddy.
-
good luck buddy. good luck buddy. >> Yeah, that is not fun. >> Yeah, that is not fun. >> Yeah, that is not fun. >> If you're interested, go to the GPU >> If you're interested, go to the GPU >> If you're interested, go to the GPU puzzles on the modular website and we'll puzzles on the modular website and we'll puzzles on the modular website and we'll teach you how to program a GPU. It's teach you how to program a GPU. It's teach you how to program a GPU. It's actually not that hard when you get actually not that hard when you get actually not that hard when you get decent tools and that actually work decent tools and that actually work decent tools and that actually work together. One, now one, let me tell you together. One, now one, let me tell you together. One, now one, let me tell you the bad thing about Mojo. the bad thing about Mojo. the bad thing about Mojo. >> Okay, >> Okay, >> Okay, >> so the bad thing about Mojo is it's not >> so the bad thing about Mojo is it's not >> so the bad thing about Mojo is it's not stable. We haven't hit our 1.0 yet. And stable. We haven't hit our 1.0 yet. And stable. We haven't hit our 1.0 yet. And so we've been building it for just about so we've been building it for just about so we've been building it for just about four years now. four years now. four years now. >> It's really cool. People are seeing >> It's really cool. People are seeing >> It's really cool. People are seeing amazing amazing results and a lot of amazing amazing results and a lot of amazing amazing results and a lot of people love it. But people love it. But people love it. But >> again, I have this burden of wanting to >> again, I have this burden of wanting to >> again, I have this burden of wanting to do something that's actually good. It's do something that's actually good. It's do something that's actually good. It's not just the outcome, but it's the not just the outcome, but it's the not just the outcome, but it's the design. It's the ability to scale. the design. It's the ability to scale. the design. It's the ability to scale. the ability to like enable new things and ability to like enable new things and ability to like enable new things and last for the next hopefully 10, 20, 30 last for the next hopefully 10, 20, 30 last for the next hopefully 10, 20, 30 years of compute, right? And so we've years of compute, right? And so we've years of compute, right? And so we've been very deliberate about that and been very deliberate about that and been very deliberate about that and we've been building in the open, but we've been building in the open, but we've been building in the open, but we're saying like, yeah, we're going to we're saying like, yeah, we're going to we're saying like, yeah, we're going to fix it. We're we're going to change fix it. We're we're going to change fix it. We're we're going to change things. We're going to laser focus in on things. We're going to laser focus in on things. We're going to laser focus in on getting to a 1.0 and stable. And the getting to a 1.0 and stable. And the getting to a 1.0 and stable. And the thing that I'm very excited about is thing that I'm very excited about is thing that I'm very excited about is that it's almost here. that it's almost here. that it's almost here. >> And so come April, May, I think we'll >> And so come April, May, I think we'll >> And so come April, May, I think we'll have our 1.0 beta. have our 1.0 beta. have our 1.0 beta. >> And so it's not very far away anymore, >> And so it's not very far away anymore, >> And so it's not very far away anymore, which is exciting. And I think we'll which is exciting. And I think we'll which is exciting. And I think we'll declare uh 1.0 and then open source the declare uh 1.0 and then open source the declare uh 1.0 and then open source the rest of the compiler and all this kind rest of the compiler and all this kind rest of the compiler and all this kind of stuff probably in you know August of stuff probably in you know August of stuff probably in you know August Septemberish.
-
Septemberish. Septemberish. >> It's going to be a big year >> It's going to be a big year >> It's going to be a big year >> coming very soon. And so the team's >> coming very soon. And so the team's >> coming very soon. And so the team's working super hard on this. I think that working super hard on this. I think that working super hard on this. I think that we all realize what a big moment this we all realize what a big moment this we all realize what a big moment this will be for the community because we will be for the community because we will be for the community because we have a bunch of amazing people in the have a bunch of amazing people in the have a bunch of amazing people in the community doing amazing things community doing amazing things community doing amazing things >> but we want them to not be constantly >> but we want them to not be constantly >> but we want them to not be constantly thrashed by change. [laughter] thrashed by change. [laughter] thrashed by change. [laughter] So, the stabilization point will be a So, the stabilization point will be a So, the stabilization point will be a big deal for us as a community. big deal for us as a community. big deal for us as a community. >> Very cool. Mojo 1.0 coming soon. And >> Very cool. Mojo 1.0 coming soon. And >> Very cool. Mojo 1.0 coming soon. And folks can go to puzzles.mmodular.com. folks can go to puzzles.mmodular.com. folks can go to puzzles.mmodular.com. There's a really great eight-part There's a really great eight-part There's a really great eight-part tutorial series. You can just go through tutorial series. You can just go through tutorial series. You can just go through it and you can do hands-on GPU it and you can do hands-on GPU it and you can do hands-on GPU programming using Mojo. And you can do programming using Mojo. And you can do programming using Mojo. And you can do that today getting ready for the coming that today getting ready for the coming that today getting ready for the coming 1.0 in the next month or two. This is 1.0 in the next month or two. This is 1.0 in the next month or two. This is super exciting. I really appreciate you super exciting. I really appreciate you super exciting. I really appreciate you spending the time to sit down with me spending the time to sit down with me spending the time to sit down with me today. today. today. >> Yeah, it's awesome to chat with you, >> Yeah, it's awesome to chat with you, >> Yeah, it's awesome to chat with you, Scott. like I I I love your work and Scott. like I I I love your work and Scott. like I I I love your work and you're you're a legend. Um I'll also say you're you're a legend. Um I'll also say you're you're a legend. Um I'll also say all this stuff's free. So please do join all this stuff's free. So please do join all this stuff's free. So please do join our open source community. We I do love our open source community. We I do love our open source community. We I do love developers and I love seeing the developers and I love seeing the developers and I love seeing the creative things that people can make and creative things that people can make and creative things that people can make and this is this is why coming back to the this is this is why coming back to the this is this is why coming back to the top what I care about in the human top what I care about in the human top what I care about in the human experience is the act of creation. You experience is the act of creation. You experience is the act of creation. You know being able to build something and know being able to build something and know being able to build something and being proud of it and saying I did that.
-
being proud of it and saying I did that. being proud of it and saying I did that. But also I think that many folks out But also I think that many folks out But also I think that many folks out there are looking at you know what what there are looking at you know what what there are looking at you know what what do I do in this uncertain future? do I do in this uncertain future? do I do in this uncertain future? >> Right? Do I just keep building the thing >> Right? Do I just keep building the thing >> Right? Do I just keep building the thing I was building yesterday? I mean, I I was building yesterday? I mean, I I was building yesterday? I mean, I think it's such an great opportunity to think it's such an great opportunity to think it's such an great opportunity to lean in and again, there's this amazing lean in and again, there's this amazing lean in and again, there's this amazing form of compute, all these new tools and form of compute, all these new tools and form of compute, all these new tools and technologies. It's the easiest time ever technologies. It's the easiest time ever technologies. It's the easiest time ever to learn something like Mojo or whatever to learn something like Mojo or whatever to learn something like Mojo or whatever your new technology is. And so, I really your new technology is. And so, I really your new technology is. And so, I really do encourage people to go out there and do encourage people to go out there and do encourage people to go out there and try out new things. And yeah, AI has
Summary
The main topic discussed is the evolution of compiler technology, specifically the LLVM infrastructure created by Chris Latner. While LLVM is widely used and understood, its 25-year-old architecture is not considered the best, leading Latner to develop newer, more advanced compilers. The practical takeaway is that even successful technologies can become outdated, necessitating continuous innovation in areas like AI-native programming tools.