Brian Kernighan on “The Practice of Programming” [video]
A podcast interview with Brian Kernighan about his book *The Practice of Programming* has prompted programmers to reflect on why his concise, example-driven style still feels relevant decades later. Commenters praise the idea of a show dedicated to deep dives on software books, swap recommendations for related classics on C, Unix, programming style, and efficiency, and debate whether to favor “proven” older texts or newer works. The thread also touches on modern hiring practices, with several engineers contrasting LeetCode-style interviews with more practical exercises that resemble real-world debugging and systems work.
Podcast format and reception
- Many commenters praise the interview and the quality of the hosts’ questions.
- The podcast’s niche—deep discussions of software books rather than weekly tech news—is seen as refreshing and substantive.
- Several listeners discover the show through this episode and express intent to binge other episodes, describing it as “coworkers talking about a book over lunch,” with breadth-over-depth but still substantive.
Timelessness and impact of “The Practice of Programming”
- Multiple commenters say the book’s lessons strongly influenced their day-to-day programming, even decades later.
- Some examples are technically dated (e.g., older Java limitations), but the general principles are viewed as highly relevant.
- The book is recommended as foundational, especially for beginners, emphasizing clarity, notation, little languages, and practical craft over heavy theory.
Technical interviews vs LeetCode
- Several lament that modern interviews overemphasize LeetCode-style puzzles and wish they focused more on the book’s concepts.
- Others report positive experiences at major companies where interviews center on realistic tasks (bug-hunting in real libraries, systems programming tasks, system design, and behavioral questions) rather than puzzle grinding.
- Experiences differ by company and role; some still encounter graph-traversal questions.
Episode notes, media lists, and affiliate links
- Listeners request that each episode’s description explicitly list all books and media mentioned to make follow-up easier.
- The hosts are receptive and considering adding such lists, possibly with affiliate links.
- Some raise privacy concerns about affiliate programs that can see all purchases in a time window; suggestions include offering both affiliate and direct links.
Related classic texts and learning philosophy
- The thread surfaces a “canon” of concise classics: “The C Programming Language,” “The Unix Programming Environment,” “The Elements of Programming Style,” “Programming Pearls,” “Writing Efficient Programs,” “Advanced Programming in the Unix Environment,” “The Linux Programming Interface,” and various compiler expositions.
- Commenters praise these older books for brevity, clarity, and dense insight compared to many modern verbose titles.
- There is debate over whether C/Unix is truly the “bedrock” and “standard OS” versus just one important lineage; both views are argued.
- Several stress balancing reading with actually writing code and warn against getting stuck in “theory trap.”
Language, tools, and historical anecdotes
- Stories arise about early tools (RATFOR, Pascal, PL/0), early Unix tooling, and the evolution of structured programming (e.g., arguments against GOTO, arithmetic IF).
- One thread discusses how constraints of early Pascal led to a famous critique paper, especially compared to RATFOR.
- Go’s brace style and lexer behavior (automatic semicolon insertion) are briefly discussed, with mixed opinions on the forced formatting.
Perception of the interviewee
- Commenters repeatedly highlight the interviewee’s humility, clarity of explanation, and responsiveness to email, viewing this combination of deep expertise and modesty as rare and admirable.