Possible Duplicate:
How do you share your craft with non programmers?
I tend to think that I might get such a question in the future...
How should I answer to it in layman terms?
I tend to think that I might get such a question in the future... How should I answer to it in layman terms? |
|||||||||||||||||
|
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
|
|||||||||
|
Do you remember that Bill Cosby routine where he talks about trying to order his kids to do everything they're supposed to do before they go to sleep? From rough memory, "Go into the bathroom. Put the toothpaste on your toothbrush. Brush it all over your teeth. Spit it out. Rinse the brush. Rinse your mouth. Get into the shower. Turn on the water. Stand under the water. Cover yourself with soap. Rinse the soap off." And then they come back downstairs in sopping-wet pajamas because he didn't tell them to strip before they got into the shower. Programming is like dealing with a extremely bright, smart-assed child who will do everything you tell him to do. What you want him to do doesn't matter; only what you tell him. And he speaks his own language, which you're gonna have to learn. And other people have been telling him to do stuff, too. |
|||||
|
|
|||
|
You take a big problem and you cut it into pieces. Then you cut those pieces into smaller pieces. You repeat this task untill the task is so small that you say: "I know how I can make the computer do that" Then repeat for the remaining pieces. Problem solved. |
|||
|
It's like playing a dozen games of chess in your head at once, while your opponents are playing checkers. Debugging is even worse. |
|||||||
|
My standard explanation goes something like this:
|
|||
|
I don't try to explain what I do. I try to make it sound like a technology sufficiently advanced as to be indistinguishable from magic, leaving people amazed at my mystical ability to greet entire worlds by invoking mystical languages of runes and symbols far beyond their comprehension. People are impressed. "Tell us again," they say, "how you can see sharp over great distances!" "Share with us," they beseech me, "the wisdom of pearls!" It does get awkward when you tell people you're proficient in python and they expect you to be able to talk with their pet snake, but hey- just hiss a bit and they'll be none the wiser. I have very rarely been pursued by an angry mob seeking to burn me as a witch, so I'd say this is a safe strategy and a lot less work than trying to explain the technicalities of the job. |
|||
|
I usually just say
Most grandmothers understand that this includes
Maps quite nicely actually. |
|||
|
It's like trying to paint a still picture of a moving scene while someone slaps you about the head. |
|||
I've answered a similar question in more detail, but the gist is, "Programming is like building a factory or an assembly line." |
|||
|
There's a cute Flash game, called light-Bot, which teaches you, what does instruction, program execution and subroutine means, just while you're playing. |
|||
|
I describe it as telling the computer what to do. You instruct it on how to take certain inputs and produce certain output. It does what you tell it, like a person following a recipe. |
|||
|
I explain it's like the old joke about the shampoo instructions:
"Oh no! I'm stuck in the shower forever!" |
|||
|