Mojo is a superset of Python. You can move C code to C++ and then you can adopt classes, templates or other features in Mojo. The tooling should be actually very beautiful and simple because we're doing the hard work of defining a superset. We don't want to repeat the Python 2 to Python 3 transition. And so by doing that work, we can help lift people.
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