Episode
#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
Description
Brian Kernighan is a professor of computer science at Princeton University. He co-authored the C Programming Language with Dennis Ritchie (creator of C) and has written a lot of books on programming, computers, and life including the Practice of Programming, the Go Programming Language, his latest UNIX: A History and a Memoir. He co-created AWK, the text processing language used by Linux folks like myself. He co-designed AMPL, an algebraic modeling language for large-scale optimization. Support this podcast by supporting our sponsors: - Eight Sleep: https://eightsleep.com/lex - Raycon: http://buyraycon.com/lex If you would like to get more information about this podcast go to https://lexfridman.com/ai or connect with @lexfridman on Twitter, LinkedIn, Facebook, Medium, or YouTube where you can watch the video versions of these conversations. If you enjoy the podcast, please rate it 5 stars on Apple Podcasts, follow on Spotify, or support it on Patreon. Here's the outline of the episode. On some podcast players you should be able to click the timestamp to jump to that time. OUTLINE: 00:00 - Introduction 04:24 - UNIX early days 22:09 - Unix philosophy 31:54 - Is programming art or science? 35:18 - AWK 42:03 - Programming setup 46:39 - History of programming languages 52:48 - C programming language 58:44 - Go language 1:01:57 - Learning new programming languages 1:04:57 - Javascript 1:08:16 - Variety of programming languages 1:10:30 - AMPL 1:18:01 - Graph theory 1:22:20 - AI in 1964 1:27:50 - Future of AI 1:29:47 - Moore's law 1:32:54 - Computers in our world 1:40:37 - Life
Chapters
Brian Kernighan, co-author of the C programming language and author of various books on programming, computers, and life, talks about his latest memoir, Unix and his work with Ample.
00:00 - 04:14 (04:14)
Summary
Brian Kernighan, co-author of the C programming language and author of various books on programming, computers, and life, talks about his latest memoir, Unix and his work with Ample.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
This episode features J. C. R. Licklider's contributions in the development of cloud computing in his work as a computer scientist and internet pioneer, as well as the possible future of the internet as a virtual space for human communication and interaction.
04:14 - 11:00 (06:45)
Summary
This episode features J. C. R. Licklider's contributions in the development of cloud computing in his work as a computer scientist and internet pioneer, as well as the possible future of the internet as a virtual space for human communication and interaction.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
This podcast discusses the creation and eventual failure of Bell Labs, which was once an innovative and successful information utility that provided service across the United States.
11:00 - 22:54 (11:54)
Summary
This podcast discusses the creation and eventual failure of Bell Labs, which was once an innovative and successful information utility that provided service across the United States.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
This episode traces the history of UNIX, the Berkeley version of UNIX, and its influence on the development of Plan 9 and the open source movement.
22:55 - 32:18 (09:22)
Summary
This episode traces the history of UNIX, the Berkeley version of UNIX, and its influence on the development of Plan 9 and the open source movement.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
Learn about OCC, a scripting language designed for quick and dirty data processing tasks like counting and selecting interesting information from text files for rearranging or summarizing them.
32:18 - 41:13 (08:54)
Summary
Learn about OCC, a scripting language designed for quick and dirty data processing tasks like counting and selecting interesting information from text files for rearranging or summarizing them.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
In this episode, the speaker recommends tools for batch computing and editing on Windows, including the use of command line, SAM editor and CRT displays.
41:13 - 45:51 (04:38)
Summary
In this episode, the speaker recommends tools for batch computing and editing on Windows, including the use of command line, SAM editor and CRT displays.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
The first programming languages were relatively crude assembly languages that converted mnemonics into bit patterns.
45:52 - 49:50 (03:57)
Summary
The first programming languages were relatively crude assembly languages that converted mnemonics into bit patterns. As computers advanced, so did programming languages, evolving to be closer to how real people think about writing code.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
This podcast explores the history and impact of the programming language C, including its popularization and influence on object-oriented programming languages.
49:50 - 58:18 (08:28)
Summary
This podcast explores the history and impact of the programming language C, including its popularization and influence on object-oriented programming languages.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
The guest speaker shares their thoughts on the broad spectrum of different programming languages and their personal experience with exploring them.
58:18 - 1:07:55 (09:36)
Summary
The guest speaker shares their thoughts on the broad spectrum of different programming languages and their personal experience with exploring them. They also touched on the importance of libraries in relation to programming languages such as JavaScript and Python.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
The speaker discusses the benefits and drawbacks of having a variety of programming languages for optimization and data science, while also highlighting AMPL, a language for mathematical programming.
1:07:55 - 1:17:34 (09:38)
Summary
The speaker discusses the benefits and drawbacks of having a variety of programming languages for optimization and data science, while also highlighting AMPL, a language for mathematical programming.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
The interviewee talks about the early days of graph theory in the 1970s and how they approached problems such as the traveling salesman problem and graph partitioning without thinking in terms of classes.
1:17:35 - 1:21:39 (04:04)
Summary
The interviewee talks about the early days of graph theory in the 1970s and how they approached problems such as the traveling salesman problem and graph partitioning without thinking in terms of classes.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
The world of AI and machine learning is rapidly evolving, but there are concerns about whether the learning mechanisms may amplify past mistakes or reinforce and perpetuate biases in data.
1:21:42 - 1:27:17 (05:35)
Summary
The world of AI and machine learning is rapidly evolving, but there are concerns about whether the learning mechanisms may amplify past mistakes or reinforce and perpetuate biases in data.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
From simple instructions to higher-level programming languages, computers have drastically changed the world.
1:27:17 - 1:37:42 (10:24)
Summary
From simple instructions to higher-level programming languages, computers have drastically changed the world. With the capability of running programs on a grand scale, the impact of computers has been felt across all areas of society.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
Technology has the potential to both improve people's lives and make them tribalistic and parochial, leading to us vs. them mentalities and widespread deception, while also enabling global communications and collaborations.
1:37:42 - 1:41:46 (04:03)
Summary
Technology has the potential to both improve people's lives and make them tribalistic and parochial, leading to us vs. them mentalities and widespread deception, while also enabling global communications and collaborations.
Episode#109 – Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
PodcastLex Fridman Podcast
Brian Kernigan discusses the vulnerable, yet positive impact technology has on millions of people.
1:41:46 - 1:43:13 (01:26)
Summary
Brian Kernigan discusses the vulnerable, yet positive impact technology has on millions of people. He shares the beauty of the technology, but also acknowledges the terrifying downside to it.