Richard Feynman Computer Science Lecture - Hardware, Software and Heuristics
Muon Ray8 HN recommenders · recommended in 7 months, 2013–2026
lecture · general · evergreen · 2013–2026 on HN
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.
Up next
2 mo on HNDan Britt - Orbits and Ice Ages: The History of Climate
TheIHMC
3 HN recommender · 2019–2019
3 mo on HNCppCon 2015: Sean Parent "Better Code: Data Structures"
CppCon
3 HN recommender · 2016–2021
6 mo on HN7 Habits For Effective Text Editing 2.0
GoogleTalksArchive
5 HN recommender · 2013–2023
2 mo on HN7 Habits For Effective Text Editing 2.0
Google
2 HN recommender · 2012–2023
1 mo on HNBhopal Disaster - BBC - The Yes Men
razorfoundation
1 HN recommend · 2010–2022
7 mo on HNCppCon 2015: Kate Gregory “Stop Teaching C"
CppCon
7 HN recommender · 2016–2025
10 mo on HNGrowing a Language, by Guy Steele
Bill Pugh
11 HN recommender · 2014–2026
8 mo on HNJulia: to Lisp or not to Lisp?
European Lisp Symposium
4 HN recommender · 2016–2022
12 mo on HN8-bit computer update
Ben Eater
14 HN recommender · 2017–2023
11 mo on HNLight Years Ahead | The 1969 Apollo Guidance Computer
TNMoC
11 HN recommender · 2021–2026
11 mo on HN“Hello, world” from scratch on a 6502 — Part 1
Ben Eater
11 HN recommender · 2019–2026
10 mo on HNFinding the Missing Memristor - R. Stanley Williams
The Qualcomm Institute
12 HN recommender · 2010–2024
12 comments from Hacker News
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.
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
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
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
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.
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
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.
You might be interested in this lecture that Feynman gave at a meeting called "Idiosyncratic Thinking": ▶ this video
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>.)
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