Feynman Understands Programming
Posted on April 22, 2014
Watch this video of Feynman explaining how he does physics work. Programming works the same way!
Here’s the translation key: replace “theory” with “a potential program that solves my problem.” And replace “consequences of the theory” with either the correct operation of the program or of bugs (as revealed by tests breaking). All the intervening layers of software make it hard to really know what’s going on. The best that we can hope for is, like Feynman explains, “qualitative understanding” of what the program should do. Before we can write programs, we have to have an idea of what we expect that program to do. Critically, we also have to have an idea of if that expectation were true (or false) what other things would we expect to see? Programming is hard because we have to envision these other phantom worlds and treat them as equally real until we know they aren’t.
Stay tuned for when he begins talking about how important unbroken stretches of time are for working on (programming). Feynman’s solution is to cultivate an aura of irresponsibility so that he’ll have time to do physics.