Richard Feynman Computer Science Lecture - Hardware, Software and Heuristics
Muon Ray8 HN recommenders · recommended in 7 months, 2013-2026
978K views · 14 years ago · lecture · evergreen
A lecture by Richard Feynman on how computers work, using the analogy of a filing clerk that becomes progressively dumber and faster. It also covers heuristics and how computers handle data and solve problems in finite time.
Frequently recommended as the clearest plain-language explanation of what a computer fundamentally is, with at least one commenter saying it changed how they think about programming.
5:31Murray Gell-Mann talks about Richard Feynman
Muon Ray
254K views • 14 years ago
2:49Feynman :: Rules of Chess
defjam99b
1.4M views • 19 years ago
18:27Richard Feynman: Can Machines Think?
Lex Clips
2.5M views • 6 years ago
1:28:23Quantum Computing for Computer Scientists
Microsoft Research
2.2M views • 8 years ago
1:06:50The complete FUN TO IMAGINE with Richard Feynman
Christopher Sykes
5.9M views • 8 years ago
1:06:50HD Feynman: FUN TO IMAGINE complete (with optional Chinese subtitles)
Christopher Sykes
712K views • 6 years ago
19:27Quantum Computing Expert Explains One Concept in 5 Levels of Difficulty | WIRED
WIRED
8M views • 8 years ago
1:37:12[7] Jim Keller, Silicon Wizard 🧙♂️
TechTechPotato
67K views • 5 years ago
55:55Richard Feynman - The.Character.of.Physical.Law - Part 2 (full version)
Tinkerin' Thinkers
638K views • 15 years ago
9:59Feynman on Scientific Method.
seabala
2.4M views • 15 years ago
4:23:39Stephen Wolfram: Fundamental Theory of Physics, Life, and the Universe | Lex Fridman Podcast #124
Lex Fridman
501K views • 6 years ago
31:06Jim Keller - Moore's Law in the age of AI Chips
Matroid
33K views • 6 years ago
9:47Feynman: Mathematicians versus Physicists
TehPhysicalist
882K views • 14 years ago
1:03The Scientific Method-Richard Feynman
Sképseis
180K views • 13 years ago
1:19:38John Hennessy and David Patterson 2017 ACM A.M. Turing Award Lecture
Association for Computing Machinery (ACM)
150K views • 8 years ago
52:04Lecture by Douglas Hofstadter: Albert Einstein on Light; Light on Albert Einstein
Uppsala universitet
23K views • 8 years ago
56:54Change w/ Jim Keller
Tenstorrent
61K views • 3 years ago
35:33How does Computer Memory Work? 💻🛠
Branch Education
5.5M views • 4 years ago
6:24Feynman: How to think 1 of 2 FUN TO IMAGINE 11
Christopher Sykes
388K views • 17 years ago
7:33Richard Feynman Magnets
nebulajr
999K views • 17 years ago
20 comments from Hacker News
Excellent work, glinscott. Thank you for sharing! I am about to send this to all my pals who are parents to schoolkids (um, and also pals who are still, like me, basically a schoolkid :p XD). Building things up from first principles, and ideally also tactile / visceral examples, is my absolute favourite genre of explanations. Alas, a rarefied genre, because it is so much harder to do well (without doing disservice to the learner's intellect and ability) than expert talking to (presumed) expert. So thanks for contributing to it. People like George Polya [0], Richard Feynman [1], Grace Hopper [2] are exemplars of this tradition. [0] link [1] ▶ this video [2] link (And I too try in my own meagre way through my blog and source code, albeit it's all plain text because visual explainers, animated ones that too are ridiculously difficult. So I have some idea of how much of a labour of love your piece is. <Claps hands, Whistles, Doffs hat>.)
Sorry I am pasting my old comment here, but the intention is same Before learning programming one should know what is computing in general? It sets good mental model, after that you can easily pickup and start writing program yourself . Data, data, data :))) Some basic notions to know: Input → Computation → Output Information is omnipresent (this is just an intuition, not a claim). It serves as both input and output. Computation—also known as a procedure, function, set of instructions, transformation, method, algorithm, or calculation. In my early days, I ignored the fundamental notion of data and procedures. But eventually, it clicked: Programs = Data + Instructions Watch Feynman on computing—he even starts with the same concept of data, introducing computers as information processing systems. And processing requires algorithms (i.e., instructions or procedures). Programming is simply writing instructions for the computer to perform computations. A computer is just a machine for computing. Computation is a general idea: a transformation of one form of information into another. link Richard Feynman Computer Science Lecture: ▶ this video Old documentry on programming: link George Hotz video: what is programming? link link link link
Sorry I am pasting my old comment here, but the intention is same Before learning programming one should know what is computing in general? It sets good mental model, after that you can easily pickup and start writing program yourself . Data, data, data :))) Some basic notions to know: Input → Computation → Output Information is omnipresent (this is just an intuition, not a claim). It serves as both input and output. Computation—also known as a procedure, function, set of instructions, transformation, method, algorithm, or calculation. In my early days, I ignored the fundamental notion of data and procedures. But eventually, it clicked: Programs = Data + Instructions Watch Feynman on computing—he even starts with the same concept of data, introducing computers as information processing systems. And processing requires algorithms (i.e., instructions or procedures). Programming is simply writing instructions for the computer to perform computations. A computer is just a machine for computing. Computation is a general idea: a transformation of one form of information into another. Richard Feynman Computer Science Lecture: ▶ this video Old documentry on programming: link George Hotz video: what is programming? link link link
The game mentioned in this article reminds me of the story about heuristics told by Richard Feynman in a lecture: ▶ this video I was wondering then who was the guy he talked about.It is great that this article provides so much details of it.
I think we already knew this though. Because the Turing test was passed by Eliza in the 1960's. PARRY was even better and not even a decade later. For some reason people still talk about Chess performance as if Deep Blue didn't demonstrate this. Hell, here's even Feynman talking about many of the same things we're discussing today, but this was in the 80's ▶ this video
> Richard Feynman on explaining technical matters to the average person Richard Feynman lecture on computing ▶ this video
Reminds me of Richard Feynman's explanation of a computer as an extremely large and fast filing system ▶ this video
Richard Feynman's lecture is a great resource for this: ▶ this video He proposes a file clerk that gets progressively dumber and faster until they get so dumb that they can be simulated by an electronic circuit.
It reminds me how Feynman described a computer as a superfast filing system ▶ this video Though programming is less about precise detailed instructions, it is more about glueing together mostly existing components in a manner understood by your team.
"One of the miseries of life is that everyone names everything a litte bit wrong, and so it makes everything a little harder to understand in the world than it would be if it were named differently. A computer does not primarily compute in the sense of doing arithmetic. Strange. Although they call them computers, that's not what they primarily do. They primarily are filing systems. People in the computer business say they're not really computers, they are "data handlers". All right. That's nice. Data handlers would have been a better name because it gives a better idea of the idea of a filing system." Richard Feynman ▶ this video
Most recently I really liked "The Unreasonable Effectiveness of Dynamic Typing for Practical Programs": link The ones that had the most profound effect for me would be Linus's talk about git and Carsten Dominik on org-mode. Also, Richard Feynman explaining how computers work: ▶ this video This actually changed the way I think about it after years of programming.
What's fascinating to me is that index cards are a kind of spiritual predecessor to modern database systems and computers - perhaps even more closely related than counting devices like the abacus. Richard Feynman touches on this in one of his lectures [1] that's been linked many times on HN. The theory of information and computing seems pretty fundamental, and not necessarily tied to what we typically think of as a computer, with CPUs, RAM, SSDs, etc. In a way, a card catalog full of index cards and run by a bunch of people is a computer too. Maybe this isn't an incredible revelation, but it's still interesting to think about. [1] ▶ this video
I believe it was Feynman who introduced the analogy: desktop : filing cabinet :: RAM : hard drive Here's a video: "Richard Feynman Computer Heuristics Lecture" (1985) ▶ this video Somewhere in my comments here, I talk about topologically sorting CS concepts; in what little time I spent, I think I suggested "Constructor Theory" (Deutsch 201?) as a first physical principle. link
Most likely this one: ▶ this video Check out Feynman's very cool "Thinking Machines" t-shirt. He was working with Danny Hillis at the time.
Sure. I don't have anything to link on the spot but this was/is/has been foreseeable for some time. Although it's all very cool and shiny - most business applications of machine learning remain squarely in the territory of classic algos like GLM & forests (random, boosted trees etc. etc.). As a fun note, advances like these highlight that data scientists etc. will not be beaten by more complex automated methods, but simply by speed. Much like the filing system that 'runs' whatever you're using to see these words ( ▶ this video ). Edit: to elaborate... single model training runs are possible to do quite fast now, but knowing how to tune hyper parameters remains the 'voodoo' of the field. But the best hyper params are also possible to discover through brute force: try every combination you can! Today, you can use various heuristics to improve this process, but either way, being able to train whatever X times faster just means we can search hyper parameter space that much faster. The robots are coming :)
This seems like a good companion (probably as a sequel) to: "Richard Feynman - Computer Heuristics Lecture": ▶ this video In general, Feynman might be a poster child for using simple language to explain complex things.
I am always amazed how Richard Feynman can make such simple stories and comparisons to explain the situation/theory in "explain like I'm 5" style. It seems that in every lecture or interview he gives he can explain the situation very fluently and in a way that literally, probably, a 5 year old could understand. The best one I saw is where R. Feynman explains how a computer works [1]. Even though I knew everything he told, I was astonished how intriguing and simple his way of presenting was. [1] ▶ this video
I'm pretty sure this is what Feynman wouldn't do. What he would do is be extremely confrontational from the start if he had to be there, eg his army psychological assessment, or just walk out if he didn't. If there was one defining characteristic of the man on the subject it was not suffering this kind of foolishness. Nobody mentioned Feynman's work for "Thinking machines" A couple more Feynman computing links: ▶ this video link
You might be interested in this lecture that Feynman gave at a meeting called "Idiosyncratic Thinking": ▶ this video
Good catch re: 'late antiquity' -> I should have been a bit more rigorous in my research there. I like your point about "how little knowledge is a perilous thing?" Completely agree that programming is far from the only important skill. I just generally think that demystifying what is popularly considered to be "esoteric" knowledge is almost always good for a healthy society. The less we know about how the mysterious machines work, the more we fear them and the more trust and power we give to the people who can manipulate them. I think this is hogwash and completely unnecessary since a computer is really just a super-fast filing clerk [ ▶ this video ].