On a recent episode of This America Life, Teller (of Penn & Teller) said this wonderful thing about practicing magic:
"If you understand the good magic trick, and I mean really understand it right down to the mechanics at the core of its psychology, the magic trick gets better, not worse."
I love magic, and Teller might be my favorite magician, so there was something lovely and surprising about hearing him say this (in his also surprising Brooklyn accent). The more you know about a trick, the better it gets.
As much as I love watching magic, I'll never be a very good magician because I'll never put in the time to learn it. As practice, it just doesn't hold my interest.
But since I was a kid, I have steadily learned more and more about computers. Over the course of the last few years, it's become a slow-burning obsession of mine to figure out how they work. From top to bottom. How do individual transistors produce these lush worlds of meaning and interconnectedness?
At some point, it became clear that I would never understand computers without learning how to use one as a tool. A tool that I can personally wield. It's a happy accident that you can also make good money these days by knowing about computers, and maybe one day I'll do that too.
At another point, a bit later than that, I realized that programming is fundamentally the manipulation of words. Words! Hey, I know words! Each program is a thoughtful letter to the computer telling it what you would like it to do.
That's how it feels anyway. And in a sense that's right, but in another sense I'm just sending electrical impulses through keyboard strikes into a machine able to assemble them into something that appears meaningful to you and me, but which is nothing but electrical states (billions of them) to the computer.
Knowing that only makes the trick better.