Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming | Lex Fridman Podcast #109

Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming | Lex Fridman Podcast #109

Lex Fridman PodcastJul 18, 20201h 43m

Lex Fridman (host), Brian Kernighan (guest), Lex Fridman (host), Narrator

History and philosophy of Unix and Bell LabsEvolution of programming languages (assembly, Fortran, C, Go, JavaScript, etc.)Unix tools and scripting: AWK, grep, shells, editorsAMPL and algebraic modeling for optimizationProgramming practice: style, examples, libraries, and pedagogyAI past and present: expectations, bias, and societal impactFuture of computing, Moore’s Law, and human–computer interaction

In this episode of Lex Fridman Podcast, featuring Lex Fridman and Brian Kernighan, Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming | Lex Fridman Podcast #109 explores brian Kernighan on Unix, C, AWK, Go, and Computing’s Future Lex Fridman interviews Brian Kernighan about the origins of Unix at Bell Labs, its philosophy, and how constraints on early hardware shaped elegant, general designs like the Unix file model.

Brian Kernighan on Unix, C, AWK, Go, and Computing’s Future

Lex Fridman interviews Brian Kernighan about the origins of Unix at Bell Labs, its philosophy, and how constraints on early hardware shaped elegant, general designs like the Unix file model.

They trace the evolution of programming languages from assembly to C, Go, JavaScript, and beyond, discussing why C endured, how Go modernizes its ideas, and how tools like AWK and grep empower rapid text and data processing.

Kernighan reflects on AMPL and optimization modeling, the role of examples and good books in teaching programming, and the rise of large library ecosystems that both empower and obscure modern software.

The conversation closes with his cautious optimism about AI, concerns about bias and privacy, the social impact of ubiquitous computing, and the enduring joy of building simple tools that other people actually use.

Key Takeaways

Resource constraints drove Unix’s simplicity and power.

Early Unix had to run on tiny machines like the PDP-7, forcing minimal mechanisms and general interfaces (e. ...

Get the full analysis with uListen AI

Unix was designed as a programmer’s environment, not a product vertical.

Its goal was to make writing programs easy and productive; that fostered a strong developer community, rapid tool creation, and a virtuous cycle of programmers building tools for other programmers.

Get the full analysis with uListen AI

Clear examples are as important as formal language specs.

In books like *The C Programming Language*, Kernighan focused on small, realistic examples (e. ...

Get the full analysis with uListen AI

Small, purpose-built tools like AWK and grep offer huge leverage.

AWK’s default behaviors (line-by-line processing, field splitting, pattern–action structure) and grep’s simple text search model make many data tasks a one- or two-line script, giving high “bang for the buck” for everyday work.

Get the full analysis with uListen AI

General-purpose modeling languages separate models, data, and solvers.

AMPL lets users express optimization problems in human-readable algebraic form, keep that model independent from data, and plug it into different solvers—making large-scale optimization more maintainable and collaborative.

Get the full analysis with uListen AI

Modern ecosystems shift effort from coding to composing libraries.

Languages like Python and JavaScript rely heavily on vast package ecosystems; this accelerates development but introduces opacity, fragile dependencies, and security risks that are hard for individuals to fully understand or control.

Get the full analysis with uListen AI

AI’s power is limited by the data—and its embedded biases.

Machine learning systems learn from historical data; if that data encodes prejudice or skewed behavior, models will reproduce or amplify those biases, raising ethical and societal concerns even as they achieve impressive performance.

Get the full analysis with uListen AI

Notable Quotes

In the beginning was the word, and the word—then there was time-sharing systems.

Brian Kernighan

Ken Thompson wrote an operating system in three weeks, which ultimately became Unix.

Brian Kernighan

One of the reasons programming was fun in the old days was that you were really building it all yourself.

Brian Kernighan

I think in terms of programming languages, you get the most bang for the buck by learning AWK.

Brian Kernighan

Don’t comment bad code, rewrite it.

Brian Kernighan

Questions Answered in This Episode

How would Unix’s design have differed if it had been created on today’s virtually unlimited hardware instead of a constrained PDP-7?

Lex Fridman interviews Brian Kernighan about the origins of Unix at Bell Labs, its philosophy, and how constraints on early hardware shaped elegant, general designs like the Unix file model.

Get the full analysis with uListen AI

Given modern ecosystems and security issues, how should developers balance using third‑party libraries versus writing their own code?

They trace the evolution of programming languages from assembly to C, Go, JavaScript, and beyond, discussing why C endured, how Go modernizes its ideas, and how tools like AWK and grep empower rapid text and data processing.

Get the full analysis with uListen AI

If you were designing a new beginner-friendly language today, what ideas from C, AWK, and Go would you keep, and what would you discard?

Kernighan reflects on AMPL and optimization modeling, the role of examples and good books in teaching programming, and the rise of large library ecosystems that both empower and obscure modern software.

Get the full analysis with uListen AI

Can machine learning truly help us uncover and correct societal biases, or does it risk entrenching them further in opaque systems?

The conversation closes with his cautious optimism about AI, concerns about bias and privacy, the social impact of ubiquitous computing, and the enduring joy of building simple tools that other people actually use.

Get the full analysis with uListen AI

What practical computing concepts should every non-programmer understand to be an informed citizen in a highly digitized world?

Get the full analysis with uListen AI

Transcript Preview

Lex Fridman

The following is a conversation with Brian Kernighan, a professor of computer science at Princeton University. He was a key figure in the computer science community in the early UNIX days, alongside UNIX creators Ken Thompson and Dennis Ritchie. He co-authored the C programming language with Dennis Ritchie, the creator of C, and has written a lot of books on programming, computers, and life, including The Practice of Programming, The Go Programming Language, and 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 that I personally love and have used a lot in my life for large scale optimization. I think I can keep going for a long time with his creations and accomplishments, which is funny, because given all that, he's one of the most humble and kind people I've spoken to on this podcast. Quick summary of the ads. Two new sponsors. The amazing self-cooling Eight Sleep mattress and Raycon earbuds. Please consider supporting the podcast by going to EightSleep.com/Lex and going to BuyRaycon.com/Lex. Click the links, buy the stuff. It really is the best way to support this podcast and the journey I'm on. If you enjoy this thing, subscribe on YouTube, review it with five stars on Apple Podcasts, support it on Patreon, or connect with me on Twitter @LexFridman. As usual, I'll do a few minutes of ads now, and never any ads in the middle that can break the flow of the conversation. This show is sponsored by Eight Sleep and its incredible Pod Pro mattress that you can check out at EightSleep.com/Lex to get $200 off. The mattress controls temperature with an app and can cool down to as low as 55 degrees. Research shows that temperature has a big impact on the quality of our sleep. Anecdotally, it've been a game changer for me. I love it. The Pod Pro is packed with sensors that track heart rate, heart rate variability, and respiratory rate, showing it all on their app once you wake up. Plus, if you have a partner, you can control the temperature of each side of the bed. I don't happen to have one, but the Eight Sleep app reminds me that I should probably get on that. So ladies, if a temperature controlled mattress isn't a good reason to apply, I don't know what is. The app's health metrics are amazing, but the cooling alone is honestly worth the money. As some of you know, I don't always sleep, but when I do, I choose the Eight Sleep Pod Pro mattress. Check it out at EightSleep.com/Lex to get $200 off. This show is also sponsored by Raycon earbuds. Get them at BuyRaycon.com/Lex. They've quickly become my main method of listening to podcasts, audiobooks, and music when I run, do the push-ups and pull-ups that I've begun to hate at this point, or just living life. In fact, I often listen to brown noise with these when I'm thinking deeply about something. It helps me focus the mind. They're super comfortable, pair easily, great sound, great bass, six hours of playtime. In fact, for fun, I have one of the earbuds in now and I'm listening to Europa by Santana, probably one of my favorite guitar songs. It kind of makes me feel like I'm in a music video. So, they told me to say that a bunch of celebrities use these, like Snoop Dogg, Melissa Etheridge, and Cardi B. I don't even know who Cardi B is, but her earbud game is on point. To mention celebrities I actually care about, I'm sure if Richard Feynman was still with us, he'd be listening to The Joe Rogan Experience with Raycon earbuds. Get them at BuyRaycon.com/Lex. It's how they know I sent you and increases the chance they'll support this podcast in the future. So for all of the sponsors, click all of the links. It really helps this podcast. And now, here's my conversation with Brian Kernighan. UNIX started being developed 50 years ago, maybe more than 50 years ago. Can you tell the story, like you describe in your new book, of how UNIX was created?

Install uListen to search the full transcript and get AI-powered insights

Get Full Transcript

Get more from every podcast

AI summaries, searchable transcripts, and fact-checking. Free forever.

Add to Chrome