Inventing on Principle, by Bret Victor at CUSEC 2012.
The demos make your jaw drop
If we are writing our code on a computer, why are we simulating what a computer would do, in our head? Why doesn’t the computer just do it, and show us?
And the last minutes are really inspiring
Building up this corpus of experiences that I felt very strongly about, and […] try to figure out why. […] Confining yourself to practicing a single skill can make it very difficult to get that broad range of experience which seems to be so valuable for this sort of work.
If you choose to follow a principle, it can’t just be any other thing you believe in. […] [Larry Tesler’s example of “Nobody should be trapped in a mode”] is a specific (negative) insight, that divides the world into right and wrong in a fairly objective way. […] Likewise, I believe that creators need powerful tools. It’s a nice thought, it doesn’t really get me anywhere. My principle is that creators need this immediate connection [between source change and visual feedback]. So I can watch you changing a line of code, and I can ask “Did you immediately see the effect of that change?” Yes or No. If no, I’ve got to do something about that. […] If your guiding principle embodies a specific insight, it will guide you, and you’ll always know if what you’re doing is right.
Every aspect of your life is a choice. There are default choices: you can choose to sleepwalk through your life and accept the path that’s laid out for you. You can choose to accept the world as it is… but you don’t have to. If there is something in the world you feel is wrong, and you have a vision of what a better world would be, you can find your guiding principle, and you can fight for a cause.
[…] Think about what matters to you, what you believe in, and what you might fight for.