
Richard Feynman Computer Science Lecture - Hardware, Software and Heuristics
About this video
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.
Why it appears in the archive
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.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
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] [VIDEO]
Read original comment ↗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: [VIDEO] This actually changed the way I think about it after years of programming.
Read original comment ↗You might be interested in this lecture that Feynman gave at a meeting called "Idiosyncratic Thinking": [VIDEO]
Read original comment ↗This seems like a good companion (probably as a sequel) to: "Richard Feynman - Computer Heuristics Lecture": [VIDEO] In general, Feynman might be a poster child for using simple language to explain complex things.
Read original comment ↗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) [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]
Read original comment ↗Richard Feynman's lecture is a great resource for 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.
Read original comment ↗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: [VIDEO] Old documentry on programming: [LINK] George Hotz video: what is programming? [LINK] [LINK] [LINK]
Read original comment ↗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: [VIDEO] Old documentry on programming: [LINK] George Hotz video: what is programming? [LINK] [LINK] [LINK] [LINK]
Read original comment ↗