“C” is one of the most widely used programming languages of all time. Prof Brian Kernighan wrote the book on “C”, well, co-wrote it – on a visit to the University of Nottingham we asked him how it came about.
“Most Difficult Program” – Ackermann Function:
Computer That Changed Everything – Altair 8800:
Factory of Ideas – Working at Bell Labs:
More from BWK on other computer languages at:
This video was filmed and edited by Sean Riley.
Computer Science at the University of Nottingham:
Computerphile is a sister project to Brady Haran’s Numberphile. More at
source

omg it's the guy
Man, we really don't want to lose this people.
A legend.
at 4:45 is the $1M question: What came first the "C" compiler or "C"? Prof. Kernighan gives us a simple answer: "…bootstrap myself up from that".
That book changed my life.
Im a professional full stack developer. But in my free time when i program, i always write some small programs in C. Its the most fun
"The C Programming Language" by by Brian Kernighan & Dennis Ritchie and "A Book on C : programming in C" by Al Kelley & Ira Pohl are great starting points.
I still have both from way back when.
C is simple, but profound. Mastering computing concepts in the context of C forms a strong foundation.
Remembering that C considers Zero to be in the set of Natural Numbers, and not blowing past the end of arrays are the hardest parts of C!
Great book. A master class in how to present a language to those who want to learn it.
We should've stopped with C. It's not perfect, but endlessly extensible and works everywhere all the time.
Legendary
GNU/Linux is the future.
A well presented, polite and well spoken gentleman. Wish more in computing and the world in general presented like this. A bygone and lovely time
I just wanna age as gracefully as him.
I was amazed by C! My first Unix job was porting Unix to a new CPU architecture. It was amazing how easy it was to do in C! It was incredible how little assembly code was needed to port Unix.
If u do in c, u can c whats going on
I still have that book in my collection. One thing important about 'C' is that you have to know what you are doing, and, eventualy, how the computer works. I have worked with people who don't seem to have a clue about what makes their code work at a low level, and that limits their thinking on software issues. I admit that it's been years since I've seen a compiler produced a strange bug, due to a compiler bug, but I don't discount the possibility.
Still have my original copy on my bookshelf. From 35 years ago
"… early 1978…" In August, 1978, the sysadm of a site where I'd been hired as a temporary 'operator' put that book in my hands (to fill idle minutes reading something…)
Never realised, at the time, Stephen had just introduced me to the love of my life…
I wrote C code with embedded SQL (Pro*C) for living at multiple companies. I had the book on that bookshelf for 15 years…maybe it's still somewhere in storage…btw, surprise surprise the techies then did not like writing documentation either. What is it about geeks in I.T. that write stuff but are then not interested in documenting it for others to understand!
I'm curious. Was UNIX the first portable OS between architectures?
Trillions of dollar, everyone is benefiting he could have milk it.
For me C is a f*ucked up language. A better one would be PL/M, which was based off of IBM's PL/1. Used a lot of high and low level languages including BASIC, Pascal, Fortran, Cobol, C, x86 ASM, System 360/370 Assembler, unforgiving JCL/JES2/JES3 🤣, dBase X, DB/2, SQL, etc. My favorite two are x86 ASM and PL/1 (PL/M).
Is this the man who played the Matrix architect?
My dad was an electronics engineer. When I was around 15/16 and asked him about programming, he gave me his 1978 edition of "The Kernighan & Ritchie" as it was called around here. Awesome way to get into, not only programming but also computer science.
Thank you, sir. You started THE revolution.
Greetings from Argentina.
Despite the book being an obvious pillar of coding literature, I think this must be the most boring, uninteresting way to present C and its history as a language. Kernighan's writing is "textbooky" and his way of explaining matters turns out being the same. This is extremely tedious to listen to. For those who might think "It's a CS subject, it would be boring regardless" I would suggest listening to someone like Richard Buckland and his lectures, a person who can manage to make pointers not only interesting while engaging his students, but also comprehensible and seemingly easy.
Undoubtedly Kernighan is a brilliant writer. K&R is a beautifully done book. Later programming books on different languages should be similarly concise. However, C is not a brilliant language. We have been stuck with this old, flawed, compromised, primitive language for 50 years.
I enjoyed the video though!
I am still owning the printed version. It was one of my first programming books.
@Kernighan
Thanks for C!
Can some one give me name of the book
5:05 “What you do is you say I wrote some code in C on paper let me mechanically translate that into something that will process a bit more of C code and then bootstrap myself up from that.”
I had that book. It was well written.
Ken Thompson wrote UNIX and used the B language which was a stripped down version of BPL. Richie came in and rewrote Unix in C. The beauty of it was that about 90 percent of Unix was written in C , the other 10 percent had to be written in assembly code because it dealt with the hardware drivers. C was an in-house language for some time and we at DEC could not get our hands on it even though they were using DEC computers to develop it. This was at Bell Labs Whippany in New Jersey. I met Thompson , father-john jeans and all, when he asked me about the purpose of a jumper on one of the pdp11 computers. Eventually C got out to the public through the educational system. Bell Labs, as a monopoly, were under strict rules as to what they could sell, and was eventually broken up into 'Baby Bells'. The plethora of C languages that came after that is legion. It took a long time for the final product to settle down.
He answered a question I've always wanted answered: Did they write the C programming language and its compiler in C itself? And how did they even go about developing an OS? A sharper tool making a sharper tool making another sharper tool and so on.
Truly one of the men of all time.
Tell him I loved Spirited Away
This man is evil
I have a first edition first printing of K&R. It's almost fallen apart but I treasure it. That's the one where "recurse" in the Index does NOT point to "recurse" in the Index. LOL.
One of best book I ever read. I finished in a week and got most of it. It is so concise but it is comprehensive.
Every book should write this way, not 1000+ pages.
Where we can get ebook??
Thanks a lot of Brian. I use awk a lot and it’s a life saver.
C is still alive in 2024 , yeah
Before college all I had was an Apple IIe, and since I didn't have access to a compiler the only language I could program in was assembly. Going from that to using a UNIX machine with a C compiler freshman year where you could write
while (*t++ = *s++);
which would have taken like a page in 6502 assembly was like dying and going to heaven
Ritchie also wrote some very successful songs in the 80's, often with haunting lyrics: "Hello… is it me you're coding for?"
Please tell me. What is auto in C???
you know he's a pro when he
says C is a high level language
Recently got the second edition of this book for a course I take in university and I was really excited it has been published in 1988 and that I get to learn C from it. Read a few pages and really liked it.
Anyway halfway through the video I realized it's actually Brian Kernighan. Mind blown!
see?
c!
I own a copy of this original C book. In 1980, that book was very hard to get a hold of.
The PR1ME operation system PRIMOS was written 75% in Fortran and 25% Prime assembly, and then they rewrote the OS in PL1
I was lucky enough to be able to work at Bell Labs in the late 80s, right down the hall from Kernighan and Ritchie. I was also learning C at the time and when I spoke to them, they said ANY time you have questions, come in ANY TIME. How amazing to be taught the language by the guys who wrote it! I still have that same book with both their autographs in it.
By learning and reading this C language book plus Richard Steven's Unix Tcp/ip books, i supported myself and feed my family for many years.
Thank you from the bottom of my heart.