I Interviewed The Creator Of LLVM, Clang, Swift, and Mojo
ฝัง
- เผยแพร่เมื่อ 11 ก.ค. 2024
- Recorded live on twitch, GET IN
Guests
Chris Lattner
x.com/clattner_llvm?s=21&t=-s...
www.modular.com
TJ DeVries
/ @teej_dv
My Stream
/ theprimeagen
Best Way To Support Me
Become a backend engineer. Its my favorite site
boot.dev/?promo=PRIMEYT
This is also the best way to support me is to support yourself becoming a better backend engineer.
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-Kinesis
Get production ready SQLite with Turso: turso.tech/deeznuts - วิทยาศาสตร์และเทคโนโลยี
Great conversation! Chris is awesome 👊
I have really appreciated everything you do and used your podcasts as a lot of inspiration. Thank you a ton
Lex is such a G. Showing up to show love to both Chris and Prime. Who does that?? Lex apparently.
You are awesome! Love your podcasts Lex! ♥
You are awesome too!
Wow, what an explosion of talent present here 😂
Just him talking for 1-2 minutes you instantly notice how sharp he is. Incredible guy.
can you give an example?
I think it’s just gut intuition. His humility and insight combined with his impressive resume just give it away.
TBH the first few minutes of this interview he repeated a lot more shallow startup buzzwords than I expected, things like "fall in love with the problem". Hope he doesn't spend too long in Silicon Valley, it causes brain rot.
@fennecbesixdouze1794 I didn't literally mean the first 1-2 minutes. I skipped ahead to the interesting parts. Listened for a couple minutes and wrote this comment.
He articulates his thoughts very clearly, he can talk about a topic in depth without any stuttering or long pauses. He clearly has a very sharp mind and good memory.
@@fennecbesixdouze1794 Falling in love with the problem is not just Silican Valley trope. Academics are often like that, I had a professor in Thermodynamics who would spend all waking hours talking about the subject, sounding like a 13 year old discussing world of warcraft, and surprise surprise, she was well accomplished. It sounds cliche, and in the case of silicon valley I imagine it often also is a bit of an embellishment, but falling in love with the problem is something to aspire to, the ones who do tend to go far, and have a great time doing so.
Chris Lattner is my role model, i really wish i can be like him someday in my career
ok
@@tankev6042 I don't want be him, I just want 1% of it and I'm will be happy
Found Chris's alt
There's really no secret to his career, it's extremely "standard path" compared to some others.
@@fennecbesixdouze1794 who said about secret and conformity? i like his determination and courage in compiler world. i am also like his mannerism that seems really nice even tho he is very nerd and technical. not all nerd can be nice to normal ppl. linux and stackoverflow culture famously unfriendly or toxic.
Chris Lattner is on my very very short list of God tier programmers along with the likes of Linus Torvalds, Dennis Ritchie and Ken Thompson. People who single handed redefined our modern world, and not by just being first or having luck (I'm looking at you Javascript), but by actually being the best at what they do and having the best ideas.
What about Richard Stallman, Dijkstra, Andrew Tanenbaum etc. ...?
@@amritpandey23 Stallman yes, but Dijkstra and Tanenbaum are more scientists then programmers, I'm pretty sure there isn't a single line of code on my computer written by them. This is kinda why I didn't start the list with Turing ;)
You took name Linus before Stallman and Tanenbaum. This is highly egregious! If it weren't Tanenbaum's minix, we might not have been using Linux today and 80% of gnu+linux OS was because of Stallman.
You can't just take names of the people who took it and created business applications out of it but also who laid foundation for it!
DON'T BE IGNORANT!
And Turing wasn't even a programmer!
@@amritpandey23I can't tell if you're being sarcastic or not.
You kinda need to add Carmack to that list. Not my wheelhouse, but in game programming he’s definitely S-tier!
He did not answer the question on how you know when to fail. This man does not fail.
i think they asked when to quit. and based from what i heard his response is working something next level and then that project demands something so I'll do that(mojo)
yes he did!, don't quit it completely, just transforms it into something else.
@ESCAcarlos you put it concisely, good job
Well, he failed answering the question
Thanks to Teej for helping to balance out the seriousness of the people in the interview.
I love that at some points like 31:49 it looks like he's rubbing TJ's back.
In all seriousness, though, that was a great interview! I would love more content like this.
LOL I just saw that
I'm so excited for Mojo man. It's being developed very rapidly but not rapidly enough for me. Also, Chris is a prolific coder, he is building a lot of Mojo's compiler.
mojo will be a massive failure. its because they have raised a ton of money.
@@nonefvnfvnjnjnjevjenjvonej3384 non sequitur
@@nonefvnfvnjnjnjevjenjvonej3384 one look at its website confirms that
@@nonefvnfvnjnjnjevjenjvonej3384 tough to argue otherwise
@@nonefvnfvnjnjnjevjenjvonej3384 it'll be a failure because they raised money?
I love that Chris tried to give a diplomatic answer about Functional Programming and Prime demanded the insult. A-tier interviewing right there.
Wow that was a breath of fresh air to hear someone talk about the negatives of functional programming ❤
@31:00 the important thing here to note about Chris' answer is: the computer hardware *could have* been developed to support things like Lisp instead. But because Fortran won, the Assembly-like programming model that C implies became the default model.
Everyone who is like "C is a thin wrapper on machine code", keep in mind that cons, car, cdr, eq, cond are all literally the names of machine level instructions, car = "contents address register", cdr = "contents decrement register". Lisp S-expressions are literally bare syntax trees. If you want to talk about getting "closer to the hardware", you have to acknowledge Lisp. It is only an historical accident that the hardware has moved away from Lisp toward the Fortran bit-fiddly world.
The bit-fiddly, error prone, weakly-checked nonsense we have today that sends airplanes nose-diving into mountains is because of pure historical accidents in what was invested in at the hardware level and what was expedient for industry. Read the "worse is better" papers.
an hour feels like five minutes when chris is talking, he's truly one of the greatest!
Damn he's was honest really fucking amazing to listen to, one of the better software talks I've seen imo.
what a humble and nice guy. I liked him.
And not anymore. 😾
@@tobozon4161 wdym?
@@hwstar9416 The comment reads "I liked him" the past tense verb insinuates that the person doesn't like him anymore but did at a time.
It’s easy to be humble when you’ve done something.
He is one of those people I would give anything to sit in a room and have a conversation with him for a while. You can learn so much from people like Chris.
I had seen that Jeremy Howard was interested in Mojo a while ago, but didn't pay attention then. After hearing Chris explain in this interview why Mojo exists and what makes it so good, I'm really excited about it.
What a treat of a guest you have there. The take away: "Functional programming, the way it is actually defined, is dumb!". It looks good, it feels good, it ain't really that good.
You can get all the benefits of pure functional programming protecting you from mutable state, without all the overhead. This talk goes deep into how that's achieved in Mojo: th-cam.com/video/9ag0fPMmYPQ/w-d-xo.html
It seems like a bad take. 33:15 Persistent Data Structures only add the changes to the tree. No need to "copy the entire data structure". Functional languages also support mutation. He must know this, so I don't get why he's saying it.
Functional is like browsing the internet using search queries, and backing up files using versioning.
OOP is like browsing the internet via a nested directory, and backing up files via FTP. Why would you do that?
@@St4rdog He means functional programming by the pure definition of taking data, and returning new data without mutating the original. People have very different definitions of functional programming which he mentions, and many languages that call themselves functional aren't that strict about the definition.
@@St4rdog That is an awful analogy. The are some high level features developed by functional programming languages that are very good, but the true is the procedural can do the same and more often than not is simple to reason in a imperative way. Sure there are cases where functional is the way to go, like parsing and filtering, but most of the time there is no advantage. So why would you use a mostly functional programming?
@@tychoidesit’s easier to reason about and far less verbose
OMG Chris Lattner!!! *Screams in nerd* 😍
I've read your thesis Chris!!! OMG!!! 😭
LLVM is the best!
LLVM is bit outdated by now. MLIR is the replacement for LLVM, but still under LLVM foundation umbrella. Or like Zig and GO, build it's own compile toolchain that's much faster.
One of the best content I have found on this channel. Awesome interview. Thanks for this gem.
Awesome interview, huge kudos to Chris Lattner and the whole mojo team
Living up to the name top shelf. Chris is always incredible to listen too
Great interview with one of the most interesting people in the field!
If you want to do more of those, I recommend Richard Feldman. First, he is developing a functional language with focus on performance, and TJ would be great to grill him on the differences between RoC and OCaml. Second, the RoC compiler is written in Rust, but recently Richard seems to have taken a liking to Zig, and it has been used to implement built-ins. So perfect for a clickbaity Rust vs. Zig discussion that everyone here will love to jump onto 🙂
He’s like what Jonathan blow fans might think blow is.
This is such an excellent take
this ^
Oh yeah? Where's Chris Lattner's mediocre indie games?
@@sneed1208 -Unix- LLVM is a glorified video game.
LMAO
Chris is amazing! He is an inspiration.
Thanks for changing the title, I had no idea who this guy was but now I'm interested
Wouldn't that be interesting if Chris became Mojo Jojo just because of his language? 😂
Mudamudamudamuda
Hahahahahah I'm laughing like a maniac at the gym man 😂😂😂
@@samuraijosh1595 its from powerpuff girls
lol code monkey
@@samuraijosh1595 mojo jojo is a "villain" from power puff girls
I'm hyped for this interview, awesome work!
Wow! Thanks Prime. I ma sooo happy I chose Python as my-go-to language. I was looking at Rust and Zig for a wasm and possible systems-dev language. Now I can deep-dive into advanced Python and ease into Mojo. This is like being in a candy store of programming languages. 👏😃
I'm sure Chris knows, but for those that don't: some functional languages have structural sharing built into their base data structures. So you don't have to really care "what" type of vector you're using. Unless maybe you're optimizing.
There are still tradeoffs of course. But it isn't nearly as dumb or complicated as doing it in, say, JavaScript.
^this.
Vector Tries are especially useful for this
The knowledge just oozes out of Chris. Amazing guest, thank you!
oh legendary moment ! let's gooooo
Thanks for bringing Chris on. Love this conversation. As a long time Python programmer Mojo addresses the major limitations of Python while preserving the good stuff. Very excited to see Chris and his team creating Mojo.
A brilliant interview! Especially when Chris started talking about Astronomy .... 🙂🙌🙌
What an interview! Chris is a huge inspiration.
The legend himself, cant wait to watch this.
Great interview. Thank you!
Chris is just inspirational to listen to. Makes me want to grow as a nerd!
Unbelievable! Very very interesting conversation. Amazing work guys!
Chris is one of the most brilliant people I’ve listened to. Lex has a couple of podcasts with him
Too bad Lex is a human turd.
44:31 a teenage "programmer" here, most of my complicated projects that I use python in have classes somewhere..... this is a practice that came to my hands by working on discord bot cogs heavily for a whole year ;-; (I use em' classes to organize my stuff, and also sometimes to follow the "dry" principle)
Hi Prime!
Awesome interview!
You should have a chat with the creator of V8 and Dart, Kasper Verdich Lund.
Omg, why did I miss this livestream?
I don’t praise anyone often, yet, he is dammmmmmn god tier.
this moment right here, this is what life is about Chris and Prime / Prime and Chris... Dreams do come true!
What a great conversation. My favorite part is not one person talked over another, just listened
What a wonderful conversation! LLVM alone and in combination with CLANG blew fresh air tn the world of compiler and languages. BTW, I am a Scheme programmer and sadly CLANG does not deal well with the enormous C functions generated by Gambit Scheme, my favorite implementation... it just tries too hard and then throws the towel, resulting in hours long compilations. But Dr. Lattner was right and BS/BA Stallman was wrong about that. I am going to give Mojo a try, i love python except for the Commodore 64-like speed.
You had me at "nerd sniped" 🤣
I like Chris' transparency regarding Mojo superset status. Mojo is not a superset in the strict sense, and doesn't make sense for it to be one. My only complain regarding the current state of Mojo, apart from the unstable nature of it right now, is that still there is no advantage in going to Mojo until they can ditch cpython interpreter completely. Calling a python library in that way has no performance advantage really. I really would like if Mojo could make a mojo library for python as easy as PyO3 with Rust, or easier. That would be a killer feature. So I am observing the evolution of the language with interest.
Chris is a source of inspiration. Such a genius guy!
Wow, thank you for sharing this very inspiring talk
”There is no universal truth”? You mean there is no optimal solution that can handle all usecases perfectly?
No solutions, just compromises
@@XDarkGreyX but there are solutions. Not necessarily only one, but some things are not solutions to problems.
only trade offs
I'm a superfan of Lattner. Keep up with the awesome guests!!!
Man, Chris Lattner is so fascinating to listen to. This was great
Watching again!
I absolutely looove the concept of Mojo as a general programming language. Can't wait for it to mature enough for me. And it doesn't hurt that I really like the guy behind it; Chris.
It would be soooo great for a backend.. Just imagine, python for configuration scripts? easy! Libs for datamanipulation? Easy! Types? Easy! Performance? EASY! YEAAARRR
I'm curious to see if it can carve a niche or not. I don't think I'm convinced it's for 'ordinary' python users who don't want to learn a new language (well Mojo has static typing and a seemingly very different memory model, is that not in essence a new language...) but it may appeal to people who wanted something like rust, but not rust?
I love how serious the conversation is paired with the goofy comments in chat
This was amazing. Love this Top Shelf idea!
We need this guy on again. There really is something for everyone in this interview
chris look like sheldon, pretty much same very genius and smart people
This interview seemed a bit hurried and shallow because of the supposed one hour time limit. I wish it was longer, Chris is a legend in the space.
Also I think Prime doing other stuff while the quest is speaking could be disrespectful to some. Luckily TJ was there to give full focus.
Met Chris a couple of times, such a down to earth dude.
Cool, was just playing with Mojo this week! It was my time first getting hands-on with using it. I'm running Mojo in WSL2 on Windows 11 with VSCode for now. It's a fun and simple language to get started with.
Interestingly though, the recursive tail call optimisation example in the 'Mojo vs. Rust: is Mojo 🔥 faster than Rust 🦀 ?' blog post from Modular runs faster using Rust than Mojo under WSL2 on my system.
we need a part 2 with him! 🙏
Great interview.
Please make this a podcast on platforms.
Love Chris's Mojo interviews
Chris AND Lex here as well? Welcome to the techno elite my man!!
This was a great interview
great talk guys!!
Thanks for doing this. I find it distracting that the chat is shown and that the interviewers (at least one of them) are responding to comments as it shows lack of engagement. If you have someone of this caliber, I'd expect you to devote your 100% attention to them. In that sense, I enjoy the Lex Fridman style of interviewing.
26:50 Police Academy reference 😂
Other than mojo’s website being down, this was a really good interview.
I can create some iOS App because of Swift , thank you for create such of beautiful programming languages. Obj-C kind of pain because of it hard to learn in short time.
What might distinguish him is his willingness to spend time learning from so many other sources to before forging ahead and building.
25:42 Should a statically-typed language without garbage collection, with manual memory management and a borrow checker be called "Pythonic". White space-sensitive Rust maybe?
not just shorts! ok subscribed.
Great interview! You guys rock, but it would be so much nicer if you could focus on the person and the dialogue instead of the chat...
Thanks for this great content!
One thing guys please put comments somewhere else, it's painful to watch...
feels better just to listen tbh.
I was not a fan of Swift when it came out. It was barely usable in v2. Slow compile times. Super buggy.
Now? It’s my favorite language. Chris is amazing. Looking forward to his success in the future.
Thanks, Prime.
I just need to read the title to say, the real GOAT
Zig mentioned!
this was so good, i want more
1:03:30 "I know the problems better than anybody" - Literally.
I AM THE ARCHITECT!!
Sorry, just in my head maybe.
Would be great to see Chris and Andrew Kelly interviewed together!
These interviews are inspirational! Thank God for great people like Primeagen, TJ and Chris Lattner
wrong odering but it's okay...
@@friedpizza262 how would you order it? It's a good idea to make examples when you make bold claims.
Chris Lattner is like the modern day Fabrice Bellard. Literally a 100x developer
Chris, thank you for everything: LLVM, Calng, Swift, and a billion other things.
Chris is the G.O.A.T...😎
Thank you for doing this. More interviews please.
value semantics is interesting
When they said "Rock Star Programmer," everybody kind of glanced over at Chris.
It's so funny, as an old-hat developer, to watch Python walk the Exact. Same. Path. that PHP walked 15 years ago. Python only released 5 years later (ish), but had a slow adoption curve and lack of web-enabled development focus that gave PHP a huge head start.
Here's a wild take: People who are experiencing scaling and growing pains with Python... they should really give *modern* PHP a try. These lessons have been learned. Note: I'm not talking about your 10-liner graphing script, I'm talking about a complex application that's actively falling apart. Your 10-liner should always be Python :P Go nuts
Let this man cook!
Mojo's current interlop with Python is very iffy. You also don't seem to get any speed up using Python modules/libraries in Mojo. If you're having to re-write everything in Mojo anyway to get the speed why not use any other quick language like Julia, C, C++ etc?
Nice.
Looking forward to trying out Mojo
Legend
I think Scala hit the right spot with the practical FP thingy.
🤘
thanks for changing title