Episode
#131 – Chris Lattner: The Future of Computing and Programming Languages
Description
Chris Lattner is a world-class software & hardware engineer, leading projects at Apple, Tesla, Google, and SiFive. Please support this podcast by checking out our sponsors: - Blinkist: https://blinkist.com/lex and use code LEX to get a free week of premium - Neuro: https://www.getneuro.com and use code LEX to get 15% off - MasterClass: https://masterclass.com/lex to get 15% off annual sub - Cash App: https://cash.app/ and use code LexPodcast to get $10 EPISODE LINKS: Chris's Twitter: https://twitter.com/clattner_llvm Chris's Website: http://nondot.org/sabre/ 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/LexFridmanPage - 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 07:12 - Working with Elon Musk, Steve Jobs, Jeff Dean 12:42 - Why do programming languages matter? 18:42 - Python vs Swift 29:35 - Design decisions 34:53 - Types 38:41 - Programming languages are a bicycle for the mind 41:13 - Picking what language to learn 47:12 - Most beautiful feature of a programming language 56:36 - Walrus operator 1:06:03 - LLVM 1:11:15 - MLIR compiler framework 1:15:21 - SiFive semiconductor design 1:27:56 - Moore's Law 1:31:09 - Parallelization 1:35:37 - Swift concurrency manifesto 1:46:26 - Running a neural network fast 1:52:03 - Is the universe a quantum computer? 1:57:44 - Effects of the pandemic on society 2:14:56 - GPT-3 2:19:15 - Software 2.0 2:32:41 - Advice for young people 2:37:24 - Meaning of life
Chapters
Chris Lattner, senior vice president of platform engineering at Sci-Fi, aims to make chip design faster, better, and cheaper.
00:00 - 01:53 (01:53)
Summary
Chris Lattner, senior vice president of platform engineering at Sci-Fi, aims to make chip design faster, better, and cheaper. He has worked as a software innovator and leader at Apple and Tesla, and now brings his expertise to revolutionize chip design.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
For $100 a year, subscribers can have an all access pass to watch courses from experts like Chris Hadfield, Neil deGrasse Tyson, Will Wright, Carlos Santana, and Gary Kasparov among others, covering various topics ranging from space exploration, scientific thinking and communication, music, chess, and poker.
01:53 - 08:25 (06:31)
Summary
For $100 a year, subscribers can have an all access pass to watch courses from experts like Chris Hadfield, Neil deGrasse Tyson, Will Wright, Carlos Santana, and Gary Kasparov among others, covering various topics ranging from space exploration, scientific thinking and communication, music, chess, and poker. The platform also aims to explore and feature more experts in the cryptocurrency space in the future.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
This episode discusses the different trade-offs in programming language design that affect our preferences in choosing and improving programming languages, emphasizing the goal of portability across different hardware.
08:25 - 17:48 (09:23)
Summary
This episode discusses the different trade-offs in programming language design that affect our preferences in choosing and improving programming languages, emphasizing the goal of portability across different hardware.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Python is good for building libraries, but when it comes to building a machine learning framework, performance becomes a concern.
17:48 - 22:51 (05:02)
Summary
Python is good for building libraries, but when it comes to building a machine learning framework, performance becomes a concern. Swift has features like value semantics that provide mathematical object-like behavior.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Good design in programming is not just a matter of preference, it is something that can be felt by users.
22:51 - 32:26 (09:35)
Summary
Good design in programming is not just a matter of preference, it is something that can be felt by users. Including powerful tools like classes and data structures can lead to better productivity and performance.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Programming language design involves weighing trade-offs between different factors such as power, efficiency, and memory management, among others.
32:26 - 37:39 (05:13)
Summary
Programming language design involves weighing trade-offs between different factors such as power, efficiency, and memory management, among others. Good design requires a core team of experienced individuals who can analyze the ramifications of each choice and make informed decisions.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Some programming languages may fit a person's particular lifestyle or thinking style better than others, allowing them to be more productive in development and debugging stages.
37:39 - 43:14 (05:34)
Summary
Some programming languages may fit a person's particular lifestyle or thinking style better than others, allowing them to be more productive in development and debugging stages. The main purpose of a programming language is to make humans more productive.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Finding a project that the language is good for can help with learning a programming language, as well as utilizing asserts and focusing on types.
43:14 - 46:28 (03:13)
Summary
Finding a project that the language is good for can help with learning a programming language, as well as utilizing asserts and focusing on types.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The flexibility of programming languages allows for the creation of high quality libraries that feel native to the compiler without being built into it.
46:28 - 52:18 (05:50)
Summary
The flexibility of programming languages allows for the creation of high quality libraries that feel native to the compiler without being built into it. This allows for full expressivity and enables truly beautiful libraries.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The design of programming languages involves various tradeoffs, such as optimizing for teachability and clarity versus optimizing for bugs and performance.
52:18 - 58:27 (06:08)
Summary
The design of programming languages involves various tradeoffs, such as optimizing for teachability and clarity versus optimizing for bugs and performance.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The complexity of defining types in Python does not affect syntactic sugar, but it can contribute to making the language more complicated.
58:27 - 1:03:22 (04:55)
Summary
The complexity of defining types in Python does not affect syntactic sugar, but it can contribute to making the language more complicated. The negative feedback from even a small percentage of the Python community can have a significant impact.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Making tough decisions as a leader can be challenging, especially when dealing with passionate communities and established companies.
1:03:22 - 1:06:25 (03:02)
Summary
Making tough decisions as a leader can be challenging, especially when dealing with passionate communities and established companies. The burden is higher when stepping into a situation that has already been working for a long time.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Starting with strong principles helps to make wise decisions and communicate them effectively.
1:06:25 - 1:10:53 (04:27)
Summary
Starting with strong principles helps to make wise decisions and communicate them effectively. It acts as a defense mechanism for guiding future discussions and providing case law for decisions.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
In this episode, the hosts discuss the growing distrust of new technology due to its unfamiliarity and the potential for exponential growth in specialized infrastructure.
1:10:53 - 1:15:15 (04:21)
Summary
In this episode, the hosts discuss the growing distrust of new technology due to its unfamiliarity and the potential for exponential growth in specialized infrastructure. They also explore how MLIR is providing faster and more effective ways to build domain-specific compilers.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The process of designing and writing the code for computer chips and then handing off to fabs is a well-studied, old problem.
1:15:15 - 1:18:42 (03:27)
Summary
The process of designing and writing the code for computer chips and then handing off to fabs is a well-studied, old problem. However, the implementations of different instruction sets such as x86 and ARM vary depending on the desired specifications of the chip.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The world of sci-fi may lead to more custom chip building, but in reality, different companies and historical reasons may lead to different instruction sets, particularly in the embedded microcontroller space.
1:18:42 - 1:27:41 (08:58)
Summary
The world of sci-fi may lead to more custom chip building, but in reality, different companies and historical reasons may lead to different instruction sets, particularly in the embedded microcontroller space.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The design of programming languages need to consider massive parallelization as a first principle to enable running machine learning on current and future hardware like TPUs and ASICs.
1:27:41 - 1:35:10 (07:28)
Summary
The design of programming languages need to consider massive parallelization as a first principle to enable running machine learning on current and future hardware like TPUs and ASICs. New code formatting tools need to be invented to support this new paradigm.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Swift starts with a default asynchronous communication pattern to ensure memory safety, but once you move beyond this, it's important to consider the programmer model and the potential for sharing memory among communicating threads or computers.
1:35:10 - 1:42:09 (06:58)
Summary
Swift starts with a default asynchronous communication pattern to ensure memory safety, but once you move beyond this, it's important to consider the programmer model and the potential for sharing memory among communicating threads or computers.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Compiler people utilize tricks to make unmodified code run faster, often optimizing memory usage to achieve 10x speedup.
1:42:09 - 1:44:40 (02:31)
Summary
Compiler people utilize tricks to make unmodified code run faster, often optimizing memory usage to achieve 10x speedup. However, these tricks can sometimes defeat the patterns and heuristics used by compilers, making it difficult to optimize code without understanding the inner workings of the compiler.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Machine learning serves as an outstanding abstraction layer that has revolutionized the working of the compiler people.
1:44:40 - 1:50:11 (05:31)
Summary
Machine learning serves as an outstanding abstraction layer that has revolutionized the working of the compiler people. The programming model and operations composed by machine learning nerds have raised levels of abstraction high enough to enable auto-parallelizing compilers.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The importance of specific error messages and the mystery of the architecture of a simulated world are discussed, as well as the necessity for quantum computing to accurately implement quantum systems in the simulation.
1:50:12 - 1:54:15 (04:03)
Summary
The importance of specific error messages and the mystery of the architecture of a simulated world are discussed, as well as the necessity for quantum computing to accurately implement quantum systems in the simulation.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Is there a useful problem that can be solved with quantum computers that makes it worth the economic cost?
1:54:15 - 1:59:11 (04:55)
Summary
Is there a useful problem that can be solved with quantum computers that makes it worth the economic cost? We may be too early in the development cycle to know for sure, but the potential for solving problems that were unsolvable before and making the world better economically and otherwise, exists.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The pandemic has forced people to act and think differently, leading to more entrepreneurial projects and businesses.
1:59:11 - 2:03:52 (04:40)
Summary
The pandemic has forced people to act and think differently, leading to more entrepreneurial projects and businesses. The global crisis and economic downturn have also caused many businesses to shut down, leading to new opportunities for entrepreneurs.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The emotional reactions on social media are not what's bothersome, but rather how to engage and educate those who react impulsively without thoughtful consideration.
2:03:52 - 2:13:55 (10:03)
Summary
The emotional reactions on social media are not what's bothersome, but rather how to engage and educate those who react impulsively without thoughtful consideration.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The podcast discusses the challenges and opportunities of scaling deep learning models to run on systems with hundreds of trillions of parameters and run for thousands of years.
2:13:56 - 2:19:22 (05:25)
Summary
The podcast discusses the challenges and opportunities of scaling deep learning models to run on systems with hundreds of trillions of parameters and run for thousands of years. They explore the idea of sparsely gated mixture of experts and algorithmic improvement.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
This episode explores the potential of deep learning and differentiable programming as well as the importance of combining different techniques to create new tools for solving problems.
2:19:22 - 2:26:18 (06:56)
Summary
This episode explores the potential of deep learning and differentiable programming as well as the importance of combining different techniques to create new tools for solving problems.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The idea of using GPT-3 to generate programming code that detects errors and replaces certain aspects of programming, such as program synthesis, is discussed.
2:26:18 - 2:29:44 (03:26)
Summary
The idea of using GPT-3 to generate programming code that detects errors and replaces certain aspects of programming, such as program synthesis, is discussed. The potential of using GPT-3 API to generate Swift code is also considered.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
The transcript discusses the importance of improving pattern matching and higher level logic to achieve correctness in automated code generation, using the example of typing in specifications like "I want a red button with the text that says hello".
2:29:44 - 2:32:10 (02:25)
Summary
The transcript discusses the importance of improving pattern matching and higher level logic to achieve correctness in automated code generation, using the example of typing in specifications like "I want a red button with the text that says hello".
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
This podcast discusses the importance of embracing change and being willing to do the hard work required to make change happen, whether it's implementing a new programming language or advancing science and philosophy.
2:32:10 - 2:37:00 (04:50)
Summary
This podcast discusses the importance of embracing change and being willing to do the hard work required to make change happen, whether it's implementing a new programming language or advancing science and philosophy.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
Focusing on personal challenges and contributions, like guiding kids, engaging in the community, and making meaningful contributions at work, can help engineer a positive future and prevent a rise in negative behaviors.
2:37:01 - 2:45:58 (08:57)
Summary
Focusing on personal challenges and contributions, like guiding kids, engaging in the community, and making meaningful contributions at work, can help engineer a positive future and prevent a rise in negative behaviors.
Episode#131 – Chris Lattner: The Future of Computing and Programming Languages
PodcastLex Fridman Podcast
On this podcast, Chris Latner discusses his past work at Apple and Tesla, and his current project at SiFive, a company building out a freelance marketplace for hardware developers.
2:45:58 - 2:47:18 (01:19)
Summary
On this podcast, Chris Latner discusses his past work at Apple and Tesla, and his current project at SiFive, a company building out a freelance marketplace for hardware developers.