July 10th, 2024

Brian Kernighan Reflects on "The Practice of Programming" [video]

The YouTube video features author Brian Kernighan discussing "The Practice of Programming" book, programming language development, industry changes, memory management in C/C++, CSV parsing challenges, and computing resources impact on software engineering.

Read original articleLink Icon
Brian Kernighan Reflects on "The Practice of Programming" [video]

The YouTube video at the given URL showcases author Brian Kernighan talking about his book "The Practice of Programming" and diverse computing subjects. Kernighan delves into the development of programming languages, shifts in the industry, memory management in languages such as C and C++, difficulties encountered in CSV parsing, and the influence of computing resources on software engineering methodologies.

Link Icon 14 comments
By @rramadass - 3 months
This book is foundational; all Programmers (especially beginners) should read it. Like all Kernighan's books, the language is simple, concise and precise focusing on the foundations/essentials with no fluff and all in a little over 200 pages. Understand the principles from the examples shown here and then apply them in your own context. The beauty of K&P's books is that they do not overwhelm you with theory but show you the craft/practical applications of it after which a study of the theory becomes more accessible.

To give a concrete example; i had some experience in network programming/protocol implementations before i came across this book. In the "Notations" chapter, they show network message pack/unpack routines written in the style of printf/scanf functions with format strings specifying the packet layout! This was a eye-opening lesson for me in the use of proper notations and little languages. There is also some code snippet examples showing ideas behind Virtual Machines, Code Threading, JIT compilation etc.

Folks should also get Kernighan and Pike's older book "The Unix Programming Environment" to go with this. The chapter "Program Development" gives a complete example of developing a compiler for a small calculator language using compiler development tools (and no theory!) in around 50 pages. This is the smallest and simplest exposition that i know of on how to write a compiler.

In summary; get all of Kernighan's books and study them! :-)

By @JetSetIlly - 3 months
I love the Practice of Programming. Of all the books on programming that I've read, the lessons of that book are the ones that remain strongest in my mind. I've not read it in many years but I feel it influences my practice everyday.
By @commandersaki - 3 months
Love Kernighan, such a humble person. In one of the videos that he was featured on in youtube, he spoke about how he was solving a difficult problem in his thesis which turned out to be NP-complete before the theory had been fleshed out. Emailed him for his thesis and got a pretty quick response, was a really interesting read.
By @zombiwoof - 3 months
I wish interviewing now was more about knowing the concepts in that book versus leetcode

Brian Kernighan prob couldn’t pass a leetcode hard interview in this ridiculous new world

By @fuzztester - 3 months
Another author and his books in the same category of excellence as Kernighan and his books, is Jon Bentley and his books Programming Pearls and More Programming Pearls.

https://en.m.wikipedia.org/wiki/Jon_Bentley_(computer_scient...

By @xyzzy_plugh - 3 months
The "g" is silent, folks.

You should try to get Rob Pike on. He'd probably make it a point to correct your pronunciation. I can hear him now...

By @fuzztester - 3 months
I'm only one third of the way through the video, but could see that the podcasters are asking some good insightful questions.

Thanks for sharing, OP.

By @opello - 3 months
A nice value in this format (since it discusses books) would be to have a comment or portion of the description dedicated to listing the books (or ideally the media) discussed to a list.

I added "The Bit Player" (Claude Shannon documentary from 2018) to my watch list as well as "Recoding America," "Chip War," and "Endurance: Shackleton's Incredible Voyage" to my reading list.

By @fuzztester - 3 months
I suggest you add Software Tools in Pascal to your list of books to podcast about. Also by Kernighan.

I own a copy of that book and think it is good.

By @fuzztester - 3 months
Kernighan is also a co-author of The Go Programming Language book, at least of the 1st edition.
By @fuzztester - 3 months
https://en.m.wikipedia.org/wiki/Brian_Kernighan

that link mentions many more of his achievements.

By @256_ - 3 months
I read the Elements of Programming Style and the Practice of Programming around the same time and they became completely mixed up in my mind. I'll often remember something from one of those books but be completely unable to remember which one it was from.

Both good books, and both were co-authored by Kernighan. I think they complement each other well.