Richard Feynman Computer Science Lecture - Hardware, Software and Heuristics

Muon Ray · 978K views · 2012 · 1:15:47

Open on YouTube

Computer architecture & CPUsUniversity lectures & coursesTech pioneers & interviewslecture

Why Hacker News recommends it

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.

What it is

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.

Recommended by 8 HN commenters across 7 different months, 2013 to 2026.

What Hacker News said

Strong rec trymas · 2015-07 · on “Richard Feynman on the Challenger disaster (1986) [video]”

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]

Strong rec cup-of-tea · 2018-04 · on “Ask HN: What is your favourite tech talk?”

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.

Recommends evanb · 2014-07 · on “What Problems to Solve”

You might be interested in this lecture that Feynman gave at a meeting called "Idiosyncratic Thinking": [this video]

Recommends e12e · 2016-05 · on “The Controlled Natural Language of Randall Munroe's Thing Explainer [pdf]”

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.

Recommends westurner · 2017-10 · on “Ask HN: How to introduce someone to programming concepts during 12-hour drive?”

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]

Recommends jamcohen · 2021-04 · on “Computer Science from the Bottom Up”

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.

Recommends o4c · 2026-05 · on “Good developers learn to program. Most courses teach a language”

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 computi

Recommends pillars · 2026-05 · on “Good developers learn to program. Most courses teach a language”

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 computi