12/03/10 Joe
I’ve been reading Richard Feynman lately. Although my brain feels battered by his brilliance, and his grasp of far reaching ideas, I keep bumping against something else about him that I find fascinating.
Feynman accepts facts. Light moves as particles and waves? Maybe this is true, or maybe there is a more elegant answer. Why does it seem this way? What machine drives it? Feynman seemingly doesn’t care.
The fact that it can be described this way is what matters. If the description he has of something is sufficiently accurate enough to get him to the next step, he has no reason to challenge it till it brings about a fallacy.
I think I have a lot to learn from this attitude. Getting on with it, moving to the next thing and course correcting only where necessary.
A good example is our programming language of choice, PHP. It’s a mess of a language. It’s strength lies in it’s breadth, but it’s width is a spiraling spaghetti mess.
I’m a “why” learner. When I understand the reason why something exists, and how it is supposed to work, I feel that I can begin to “think” within the system. I can anticipate the way that something should work. I can reason without knowing.
PHP offers very few opportunities for this. Very often it asks you to have faith in libraries without knowing why they work. Very often it asks you to grant it exceptions to syntax, just because. Almost always it tells you that there are several ways to achieve the same goals. It is in effect the result of many brains thinking many different ways.
I struggle with this continually. I’m someone who can explain to you how historical events relate to each other, but I often cannot give you specific dates or facts. I’m a reasoner, not a memorizer.
It’s time for a confession. My first professional programing languages were ActionScript and Coldfusion. Outrageously bad picks for having your past efforts translate into future success. Both are becoming increasingly obsolete in cool web dev circles. (not sure Coldfusion was ever cool)
I can say this for these languages though. They were constructed on purpose,, and with a methodical effort. You could think in them. Even if you had no experience with a thing, you could often trial it out without cracking a book.
While that feels good, I think there is something greater to be yielded from a larger, more open system. Trusting that things work, because they do. The idea that I don’t have to dig down to bedrock to do something great is liberating.
So besides the fact that orbiting objects are essentially falling perpetually at a fixed rate and speed towards a round object, I’ll take away something else from Feynman. Maybe it makes no sense why a function, or pattern works the way it does. Maybe I disagree with why something is built the way it is. But if my wishes are not what is true for the rest of the world, I need to get on with it and try to do something great with what does work.