In my opinion, the world benefits from simple and predictable systems at the bottom that you can control. But then once you have a predictable execution layer, you can build lots of different policies on top of it. And so one policy can be that the human programmer says, do that here,Do that here, Do that here,. The other is to fully manually controls everything, and the systems should just do it. Right. So I mean, in my opinion, this is an opinion. This is not a way to agree with this."
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: https://lexfridman.com/iherb and use code LEX to get 22% off your order
– Numerai: https://numer.ai/lex
– InsideTracker: https://insidetracker.com/lex to get 20% off
EPISODE LINKS:
Chris’s Twitter: https://twitter.com/clattner_llvm
Chris’s Website: http://nondot.org/sabre/
Mojo programming language: https://www.modular.com/mojo
Modular AI: https://modular.com/
PODCAST INFO:
Podcast website: https://lexfridman.com/podcast
Apple Podcasts: https://apple.co/2lwqZIr
Spotify: https://spoti.fi/2nEwCF8
RSS: https://lexfridman.com/feed/podcast/
YouTube Full Episodes: https://youtube.com/lexfridman
YouTube Clips: https://youtube.com/lexclips
SUPPORT & CONNECT:
– Check out the sponsors above, it’s the best way to support this podcast
– Support on Patreon: https://www.patreon.com/lexfridman
– Twitter: https://twitter.com/lexfridman
– Instagram: https://www.instagram.com/lexfridman
– LinkedIn: https://www.linkedin.com/in/lexfridman
– Facebook: https://www.facebook.com/lexfridman
– Medium: https://medium.com/@lexfridman
OUTLINE:
Here’s the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time.
(00:00) – Introduction
(06:38) – Mojo programming language
(16:55) – Code indentation
(25:22) – The power of autotuning
(35:12) – Typed programming languages
(51:56) – Immutability
(1:04:14) – Distributed deployment
(1:38:41) – Mojo vs CPython
(1:54:30) – Guido van Rossum
(2:01:31) – Mojo vs PyTorch vs TensorFlow
(2:04:55) – Swift programming language
(2:10:27) – Julia programming language
(2:15:32) – Switching programming languages
(2:24:58) – Mojo playground
(2:29:48) – Jeremy Howard
(2:40:34) – Function overloading
(2:48:59) – Error vs Exception
(2:56:39) – Mojo roadmap
(3:09:41) – Building a company
(3:21:27) – ChatGPT
(3:27:50) – Danger of AI
(3:31:44) – Future of programming
(3:35:01) – Advice for young people