Chris Lattner: Future of Programming and AI | Lex Fridman Podcast
HTML-код
- Опубликовано: 11 май 2024
- Chris Lattner is a legendary software and hardware engineer, leading projects at Apple, Tesla, Google, SiFive, and Modular AI, including the development of Swift, LLVM, Clang, MLIR, CIRCT, TPUs, and Mojo. Please support this podcast by checking out our sponsors:
- iHerb: lexfridman.com/iherb and use code LEX to get 22% off your order
- Numerai: numer.ai/lex
- InsideTracker: insidetracker.com/lex to get 20% off
EPISODE LINKS:
Chris's Twitter: / clattner_llvm
Chris's Website: nondot.org/sabre/
Mojo programming language: www.modular.com/mojo
Modular AI: modular.com/
PODCAST INFO:
Podcast website: lexfridman.com/podcast
Apple Podcasts: apple.co/2lwqZIr
Spotify: spoti.fi/2nEwCF8
RSS: lexfridman.com/feed/podcast/
Full episodes playlist: • Lex Fridman Podcast
Clips playlist: • Lex Fridman Podcast Clips
OUTLINE:
0:00 - Introduction
2:20 - Mojo programming language
12:37 - Code indentation
21:04 - The power of autotuning
30:54 - Typed programming languages
47:38 - Immutability
59:56 - Distributed deployment
1:34:23 - Mojo vs CPython
1:50:12 - Guido van Rossum
1:57:13 - Mojo vs PyTorch vs TensorFlow
2:00:37 - Swift programming language
2:06:09 - Julia programming language
2:11:14 - Switching programming languages
2:20:40 - Mojo playground
2:25:30 - Jeremy Howard
2:36:16 - Function overloading
2:44:41 - Error vs Exception
2:52:21 - Mojo roadmap
3:05:23 - Building a company
3:17:09 - ChatGPT
3:23:32 - Danger of AI
3:27:27 - Future of programming
3:30:43 - Advice for young people
SOCIAL:
- Twitter: / lexfridman
- LinkedIn: / lexfridman
- Facebook: / lexfridman
- Instagram: / lexfridman
- Medium: / lexfridman
- Reddit: / lexfridman
- Support on Patreon: / lexfridman - Наука
Here are the timestamps. Please check out our sponsors to support this podcast.
0:00 - Introduction & sponsor mentions:
- iHerb: lexfridman.com/iherb and use code LEX to get 22% off your order
- Numerai: numer.ai/lex
- InsideTracker: insidetracker.com/lex to get 20% off
2:20 - Mojo programming language
12:37 - Code indentation
21:04 - The power of autotuning
30:54 - Typed programming languages
47:38 - Immutability
59:56 - Distributed deployment
1:34:23 - Mojo vs CPython
1:50:12 - Guido van Rossum
1:57:13 - Mojo vs PyTorch vs TensorFlow
2:00:37 - Swift programming language
2:06:09 - Julia programming language
2:11:14 - Switching programming languages
2:20:40 - Mojo playground
2:25:30 - Jeremy Howard
2:36:16 - Function overloading
2:44:41 - Error vs Exception
2:52:21 - Mojo roadmap
3:05:23 - Building a company
3:17:09 - ChatGPT
3:23:32 - Danger of AI
3:27:27 - Future of programming
3:30:43 - Advice for young people
The Stone Henge and Pyramids, etc all were easy to move during these time windows of lost Human history because of the low levels of gravity due to the Earth's Axis tilt was different and the Moon also played a key role... Question: How would humans today, go about moving massive stones on the Moon today? These large stone structures were carved and relocated over miles from their origins; they were moved with large animals pulling ropes, dragging them like large foam blocks, leaving little trace. Left the future gens boggled... I drew out diagram. It's the only thing that logically fits.
ChatGPT will conclude this in near future - facts of our lost human history in regards to the low levels of gravity - how we moved these massive large stone blocks and statues etc...
If Jeremy Howard is saying in his fast ai blog "Mojo may be the biggest programming language advance in decades" then it's a very big deal, and I'm paying attention. Thanks Lex for another fantastic interview. Thanks Chris for the clear explanations and of course, all the work you put into Mojo.
@@OfTheVoid Also, the reason the folks during low gravity era used large heavy stone blocks is because, they would stack up - weigh each other down - everything down - otherwise, they could have just used small blocks - bricks and achieve these structures and stutues - everything moved at ease... done in the fraction. The core of the Earth has a ball within a ball(rotating opt direction,) the core of core rotation is decressing and will pause and then rotate the other direction... this could also a art of the low gravity that occurred 30,000 + years ago.
I think ChatGPT - all this AI tech will be able to figure this stuff out.
Seriously man, you've had KILLER guests recently. Learning a lot, thank you for contributing to humanity's knowledge base.
This, absolutely.
Well we need to beat the AI
Ditto. 💯
Absolutely. This channel is a mad superstar VIP party for nerds. Every time I am modeling something in Blender, or even doing chores or anything where language / listening doesn't conflict with the task itself, I know I will be able to find something that is continuously engaging and interesting on this channel.
Oh and, thank you for essentially painting my living room. I was listening to another episode as I did that, which resulted in my brain delegating the utterly boring task to the spinal cord entirely, which lead to me being basically unaware of having painted my room (I only remember the discussion, and the fact I had sore muscles the next day).
Recently? For a long time!
This guy is the Michael Jordan of compilers. For sure my fav guest on the Lex Fridman podcast.
what's a compiler?
@@ElmoRitter llvm
@@budiardjo6610 rbtw
whats a michael jordan
@@mcspud A code compiler is a special program that translates the code you write in a programming language (like Python or C++) into a language that your computer can understand, known as machine language. You can think of it as a translator between you and your computer. When you write code, you're giving instructions to the computer. But the computer doesn't understand these instructions as they are, so the compiler comes in and transforms these instructions into a format the computer can execute. This process is like writing a letter in English to someone who only understands French, and having a friend translate it into French for you.
This, of course, is a very shallow definition of what a compiler _can_ be, but with the vast majority of languages in use being instructions in an imperative manner, I feel like it's good enough.
these guys with modular are on the right path, their head is straight about what's going on, and how things should be. good to see chris again!
Let's help make it a more perfect system. There are always areas a slick eye can pick up on that no other can, and if you're not obnoxious and short-sighted certainly the team can weigh your thoughts in with that of the collective mind.
For us programming nerds, this is golden.
well thats good someone got something out of this because thats gotta be the only ppl that did. Otherwise its 3+ hours of boring fucking jibberish
Hey bro, do you luv diggs?
This guy just walks around fixing programming languages and compilers, From Clang to Swift and now Mojo...God knows what he'll be doing next... An OS probably. We are lucky to have him in humanity.
Sort of a Nietsche's Übermensch 😂
He seems pretty central to having created the world we human inhabit
My daughter was having nightmares and we listened to this podcast to distract her. She asked for it again tonight, she's 6 :)😊
Hm, I would have chosen something on astrophysics, debate about intelligent life in space... or would it actually reinforce the nightmares ?
@@Hexanitrobenzene I usually default to that stuff when falling asleep actually 😁 I just happened to be listening to it, and i know she falls asleep sometimes even when my wife and I just talk to each other with her in the bed. Maybe she found the podcast interesting in some way :)
@@danielhenderson7050
She probably liked Lattner's manner of speech. It gives off positive vibes :)
They weren't nightmares; they were a lack of types.
😆@@Bebtelovimab
Love Chris. Such a good guest every time. He is the epitome of a guest that is clear and concise in his delivery despite him having a wealth of knowledge.
Chris Lattner’s CV is so legendary. I think this is the longest intro Lex has given for a guest on the show, and I think he realized it in the middle of listing Chris’ accomplishments 😂
When I discovered Python about 15 years ago, I was so jazzed - and have been using it for countless projects, commercial and otherwise. Then I discovered Swift and SwiftUI over a year ago, and, for completely different use cases, have really been impressed. Now, here comes Lex interviewing Chris Lattner once again, about his latest foray into improving Python in so many ways. Guido tried to do some of these things when he was at Google, but Chris might just be able to pull this off. This is groundbreaking! Thank you Lex!
What I’m wondering is why people forget about Julia and Lisps in general.
Lisps are too OP
@@aoeu256
Damn, I haven't seen any other human endeavour where there is so much reinvention of the wheel as in programming... Julia was invented for this exact purpose, to be concise as Python and fast as C.
Lisp is like a 3D printer for Domain Specific Languages., but damn... It's for nerds only :)
@@Hexanitrobenzene its a chance to fix the countless mistakes julia made: one based indexing, column major, atrocious import system which defaults to "from module import *" the (resulting?) lack of good static analysis, the stupid idea of whitespace semantics and finally the complete lack of any formal interface (which means zero guarantees than anything works as intended)
I hope that Julia ends up in the history books a badly written mock up for mojo
@@trulyUnAssuming
Looks like I'm out of my depth here... Julia has whitespace semantics ?
as a professional programmer for the last decade, listening to Chris is mental. He is so amazing. This conversation was one of the best things I've ever listened to
I’ve been craving this since the Mojo announcement. Thanks, Lex!
Chris is one of those guests I could listen to all day. He’s really great at effectively communicating complex topics. Glad he keeps coming back!
One of the best geek nerdy conversations in a long time. I loved it and obvioulsy so did Lex and Chris. You can see the romance blossom.
Unless your facet of nerdiness doesn't involve advanced coding :(
When I moved to Germany about 20 years ago, before I understood the formality of address, in rules of German language, I thought it was beyond hilarious that people with advanced degrees were addressed with both the gender and degree when they were referred to. For instance “Mr. Doctor” then Lastname. I came to understand it eventually and it’s intent to show respect. So for me, from now on, you are “Mr. Doctor Lex.” Your interviews are simply outstanding - I’ve learned an incredible amount - my 65 year old brain just about can’t wait for the next episodes. Thank you!
This Mr. Doctor treats mental deficiencies very well.
Having an engineer as a manager really helps since he is able to understand the nature of the problem he is trying to solve. It's like old school boeing and bell labs.
I found this podcast by complete accident and ended up watching the whole thing - so much depth and great content, even for someone who isn't a professional in this field.
The new school Boeing is the one that ChatGPT built: hallucinating, doors falling off etc etc.
Oh yes, after the announce of Mojo I couldn't wait for the next interview w Chris Lattner. Can't believe it's already here!
Will websites on web assembly and mojo be faster than JavaScript hmm….
Frankly, for all his engineering acumen, which is clearly amazing and worthy of praise, his review and deep consideration of the psychological & sociological impact of AI & AGI was incredibly shallow & almost restricted by a 'free mrkt.' worldview confined by engineering - those are his tools so I appreciate that at one hand but he has clear blindspots that are problematic when considering the ramifications of AI and AGI...not from the engineering paradigm but from their impact and on that there are far more deep thinkers. An astounding engineer though - truly one-of-a-kind.
Dang it! I was waiting for a new round! Chris is really an inspiring person. How to tackle the big issues in software programming…on his words really encouraged me to follow his projects along his professional life. Thank you very much, Lex for this new round!
If Jeremy Howard is saying in his fast ai blog "Mojo may be the biggest programming language advance in decades" then it's a very big deal, and I'm paying attention. Thanks Lex for another fantastic interview. Thanks Chris for the clear explanations and of course, all the work you put into Mojo.
In a noisy world, Jeremy Howard is pure signal.
I really want to listen to this tonight! But, I have a four hour drive tomorrow, and I'm thinking this would make the drive much more fun. Added to watch later.
My favorite guest on this podcast😊
I always love the programming related ones and im glad I'm able to geek out over the convo the same way they are 😂 obviously nowhere near as good as these 2 but definitely as passionate. Thanks lex 👍
As an newbie to this field, this is so inspirational yet so intimidating. So much breadth and depth in the field of computer science. One lifetime isn’t long enough for all the cool possibilities. What a time…
Such a joy to be able to listen in to some of the most fantastic conversations. The speed of growth in self learning programs is inexorable.
💚♾️
Positive waves, everyone.
Negative waves are required for alternating current
Oh boy, what an awesome podcast. Seems like podcasts with hardcore software and hardware guys are the best.
I think this is about to be the coolest and best podcast i watch this year
wow! this is really awesome! keep up with the good work. you are really inpiring us who have limited resources to get such information in time
as a compiler writer, chris has always been my fave guest. all the way since the ai pod days. thanks for another amazing pod you two!! here’s to mojo 🔥🍻
Can't remember when was the last time I thoroughly enjoyed a long conversation on the interwebs as much as I did this one.
Thank you both, that was awesome!
Amazing that everything goes back to C and C++ to get things done. I am interested on the Mojo for sure!
or fortran
I was interested in Mojo not anymore because you can not run locally and it needs other parts to run. Not stand alone.
@@InteractiveDNA
...yet. It's v0.1 only.
What a wise, humble and lovely person. Few leaders are like that these days.
This came at the right time. I just re-watched the 1st and 2nd episode
Was just checking out Mojo lang , and here we have Chris
It's rare to be such a high level of expertise and enjoyable at the same time.
Love this through and through. Also love this channel, great work Lex!
I love hearing lex talk about his passion python. You can see the joy in his eyes. Keep it up lex!
he make a good point about the file extension and looking at them, took me a week or two to remember the order of .ipynb properly. And I've very stoked to see more from mojo.
I get the feeling that this is the future of fast dynamically typeable languages.
This is really exciting.
Thanks for having this guy on, Lex.
This is freaking awesome. What an amazing time to be alive or a simulation or an alien.
Thank you for adding value to my life. Your podcasts are really helpful.
Chris is a legend 🔥
Nice conversation. I'm always appreciate when really smart people can explain things without getting too technical.
I love how excited Lex is for the conversation. He's a programming nerd like me. This stuff is fascinating even though I don't fully understand everything...yet.
Thanks Alex, it is intriguing,educating and very instructive! 75 K views in 12 hours ! Congrats
I've been writing C# for almost 20 years. This is the best argument I've ever heard against curlies. I might actually be changing my mind. Damn.
Yeah, it's just simpler to have one thing - indentation - represent grouping.
I like Chris, but the argument is at least partially disingenuous. For example, you still need auto-formatting in Python for standardization on projects, since indentation amount and type isn't forced by the language. And he didn't mention anything about the multitude of linter/formatter options that really make the difference in readability and reliability - curlies or not - that motivate using them on projects. Sadly, I see his willingness to sell religion as objectivity as undermining his opinions on the areas I'm really watching this to hear about. It's clear he enjoys poking people, so the overstatement is certainly intentional. Regardless, he usually has interesting stuff to say among all the BS, so I'm enjoying the conversation still overall.
@@rob3c Every (good) language has formatters and linters. That's not his point. If you are going to indent anyway cause its easier to ready, why add the curlies?
@@haxi52 I understand his point just fine, thanks
You're right about the tech language Lex. As a lay person, I don't understand enough in this episode but I do enjoy the excitement and inspiration from two pros. It still sounds like music to my ears. Thank you so much as always!
CL is just wow. Thanks for Part 3. When Mojo was announced I knew it was just a matter of time before Lex had him on again.
Молодец Лёша! Благодаря тебе у нас есть возможность увидеть и услышать «особенных» людей. Chris seems to be such a humble guy, great interview!
enjoyed the whole thing so much. I'm so with Chris on complexity being THE enemy ... took me a long time to learn. Python was my first love and I still love it. However since I found Erlang/OTP and the BEAM runtime I've come to believe this is the strongest programming env and runtime in a surprisingly large number of domains. especially when combined with a language like Elixir which has been designed for similar goals as what Guido had in mind for Python. The fundamental message-passing concurrency, the error handling philosophy, and now even the ML capabilities with NX and higher-level libraries. Joe Armstrong's thesis made me realize how much of a secret sauce we've got in our hands.
As Chris days "when everyone goes left, you sometimes have to go right". Python might be the clear winner in the AI/ML space for now .... but I'm betting it might not be forever 😉
I love that there's a dedicated section to Jeremy Howard. Absolute legend that guy!
Love how you mention list comprehension with the things you love about python. Ever since I learned how to write them I never populated lists in the same way. I use them almost to a flaw lol
packaging in python with things like poetry is pretty straight forward and clean, rarely problems with c or c++ dependencies (this can happen on certain platforms like windows where things might not be well tested, or new hardware like apple silicone where the compiling process might not be optimal or correct)
You are killing it Lex. Another interview, that I had to listen to very intently.
I am loving this.
Lex fridman is best podcast host there is!
As long as he does not take up political topics he is great. Too pro Putin for my taste.
@@Koipeliini1 Lex is neutral. You are just in an Eco-chamber.
@@Koipeliini1 he's not pro Putin
quite possibly!
@@Koipeliini1 pro-Putin? lol wut?
I feel this conversation is one of those things that you didn't really know you needed until you got it.
Chris is a legend, such a humble person.
What a great interview! I love the chemistry, clearly they enjoyed this discussion:)
Thank you @Lex and @Chris.
Really interested in directly implementing it to our solution. Does Modular AI offer any scholarships, grants, competitions to get proficiency in the software and its environement?
You should have monthly Chris episode (and couple others :) )
Heard about mojo from Fireship. Great start to the weekend!
I loved any minute of it. If someone can solve this complex AI problem, then it is most probable Chris. Playing around with Mojo from its infant stages feels like being part of the history. Thank you, Lex! Thank you, Chris!
with curlies if I click it, I instantly see the ending curly brace. Plus I can have empty curly braces, while I insert a snippet.
Very interesting video.
Since Chris mentioned Zig, I see a lot of parallels in the way they are operating. Zig seems to be following that Swift model to bring the C community along, while Mojo looks to be using the release early and get feedback open model Zig is using.
I wonder if they have considered using Zig to solve the C packaging and compiling portion for python to help facilitate the transition? After realizing this problem, Zig seems like a natural fit for Python and Mojo for this.
Three hours later, still no idea how Mojo unifies things.
It’s a scaling approach- factor, factor, factor!! Lol
The main selling point for mojo is that you can leverage MLIR to write custom operators instead of relying on a runtime written in C++. Like for tensor operations pytorch uses Aten as the runtime which is written in C++. Mojo is like pytorch GLOW or tensroflows JAX. I don't understand the need for mojo when there are better solutions.
@@solitary_crow I think they are trying to be TypeScript for AI. I have the impression that Chris saw a bussiness opportunity for LLVM like stacks in proliferation of hardware in AI and decided to create such a stack with modular. As Python is the language of AI, they chose Python as an interface to their stack in order to attract users.
I would like to hear Chris' thoughts on where Modular stands relative to ONNX/ONNX Runtime.
Wonderful interview. This guy is the epitome of the brilliant engineer.
Hardly understood a word...Keep it coming Lex! for someone this is pure gold.
Oh man, you are my hero. I got a lot of knowledge from this interesting podcast.👍
You are awesome lex and also your guests. It's entertainment mixed with education.
I have a feeling this guy also knows Ada. First language I learned and it seems like he's taking a lesson from both parties and making the best of it.
This is amazing! Chris a legend.
22:45 I worked in an R&D lab and we described our work as mainly S&R, Search and Redevelopment.
Hey Keith it’s me Ryan from the office!
@@boi__7898 HI Ryan how's it going
Phenomenal video, fell in love with hardware as a child and became a software guy as an adult, seeing it all morph into these heterogeneous systems is magical
Great episode, just signed up for Mojo early access
Regarding Python I had already used 'type' settings having been on TypeScript for Angular and React for many years. If you just keep doing it just becomes part of the setup. I will say that many times I looked at the code and was not always certain what type I was actually returning. Returning a function sometimes is more complex than a simple string, booean or number. There is always 'Any' if you don't want to get bogged down in it.
The mini guitars caught my eye today... The classical and red strat look just like mine. Cheers
Watching this episode with ORTUS is something else
Ty for applying it Lex!
Having chris lattner on your podcast for the second time make me smile happy. James Gosling also genius person have so many wise and knowledgable experiences in the IT field. could you invite him for the second round lex?
Ok
finally been waiting on this for a while lex😃
Fascinating from begin() to end()! I can see that Chris would be a great person to work with. If I were looking, I would drop him a line. I hope Modular does well.
___ Don''t do drugs
This talk was fantastic. I’m not a programmer, just someone who has been using and navigating Linux. Would this language be a good language to start?
No, start with python.
That intro gave me chills 🔥
OMG, 10 seconds in and my mind is blown. An emoji file extension? Brilliance. Adding Mojo to the list. Soooo cool. VS code all the way. And tabs are best! lol
So informative, thanks Lex!
This podcast episode helped me land my dream job. Thank you both.
Can’t wait for Mojo to run natively on Mac.
One of the few podcasts where you can have very different "auto tune" discussions with Ye and Chris Lattner
Please round 2 with Jeremy Howard!!
What a great conversation! Thank you Lex!
Truly a brilliant mind, and an awesome interview!
Can someone provide any resources to become hardware literate? As a data scientist, I'm intrigued by the intersection of software/AI and hardware (which is mainly what Chris Lattner talks about), but I find it quite challenging to find sources that can help me become sufficiently literate without becoming an expert (I haven't found any course from Chris Lattner or similar, it would be nice if there is one haha)
Always fascinated as to the progress of the Human condition. You inspire me more with every new podcast. If we are to advance, it will be with the optimization of our marriage with AI, and even like a marriage things will be tense but the outcome will be forever positive.
Lex man these interviews are amazing, best shots all over Rogans stuff
Lex you know we gonna be hanging on right here even when we get lost.
dam lex, that work discipline is off the charts! thank you for the great quality content
This interview was 🔥
great interview, I heard of mojo but has nice "rust-ish" features like traits support I was unaware about 🙂
Avoiding the time box and trying be realistic about technical debt was a realistic way to tackle something of this scale. Very exciting!
2:11:10
“What you can get done with a few lines of coke, it’s amazing!”