How to explain Programming?

Started by
22 comments, last by MrJoshL 11 years, 8 months ago
Computer programming is writing down simple instructions in the right order to make a glorified calculator do useful work.
Advertisement
Its like learning a foreign language. You know what you want to say to someone but you have to learn their language first so they understand.

Except the machine is the foreigner you are trying to communicate with.

That is how I would describe it to someone. People are going to be potentially confused by a technical explanation.
Actually, fuck it - I retract my earlier answer.

Just tell them it's like this game (NSFW?)

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]


Actually, fuck it - I retract my earlier answer.

Just tell them it's like this game (NSFW?)


ahahahah! I got Mr Efficient award ... just right on the floor ;)
I think the above descriptions are good to describe what programming is. But just for the hell of it I'll try to explain the "dark magic" that computers have. (Though now that I wrote it looks maybe not all that simple an explanation but it was fun to write.).

One of the basic ideas of a computer is to create electronic circuits that perform a number of operations. If you associate each operation with a number you can use create a program by loading a sequence of number into a predetermined location and then tell the machine to begin processing. Some operations may require parameters. Those parameters can be provided as an expected quantity of additional numbers that follow the operation number.

An example of a set of instructions might be:
[source lang="cpp"]
00 - Do nothing
01 - Walk forward 1 meter
02 - Turn left 90 degrees
03 - Turn right 90 degrees
04 - Sit down
05 - Stand up
06 XX - Walk XX number of meters
07 XX - Produce the following noise:
01 - cow
02 - chicken
03 - door bell
04 - ghost
08 XX - Put the number XX in your left pants pocket
09 XX - Put the number XX in your right pants pocket
0A - Add the value in your left pants pocket to the value in your right pants pocket and put the result in your left jacket pocket
0B - Move the value in your left jacket pocket into your left pants pocket
0C XX - Jump to instruction XX
0D XX YY - Jump to instruction YY if XX is equal to the value in your left jacket pocket[/source]
And a program that would have me get out of my chair, walk into the main hall, sit down, cluck like a chicken once, and then moo like a cow 3 times would then go like this:
[source lang="cpp"]
Instr # - Op Code
01 05
02 03
03 01
04 02
05 01
06 02
07 01
08 01
09 06 05
0A 02
0B 01
0C 03
0D 06 03
0E 04
0F 07 02
10 08 01
11 09 01
12 0A
13 07 01
14 0D 04 16
15 0B
15 0C 11
16 00
17 0C 16[/source]



Hey, does this qualify as creating my own language for one of those really hard steps to becoming a good programmer?
hey whoa +1 for effort! That's a pretty nifty way of explaining and demostrating
Haha, I also have been in such an embarrassed condition.
Once, I was asked by my mother's brother, he is an old farmer in the poor rural area of China, and I worked in the software department of a printer company (US-Japan Joint).
He said "Could you tell me what 's programming and what's software in printer?"
I really don't know how to explain such stuff to a man who even has never seen a computer. I took out my mobile phone, and told him softwares were in my phone, his face showed that he wanted me to disassemble the phone, and take out the "software" ...
For me, nothing more than telling a machine what to do to achieve a goal.

Everything is better with Metal.


Haha, I also have been in such an embarrassed condition.
Once, I was asked by my mother's brother, he is an old farmer in the poor rural area of China, and I worked in the software department of a printer company (US-Japan Joint).
He said "Could you tell me what 's programming and what's software in printer?"
I really don't know how to explain such stuff to a man who even has never seen a computer. I took out my mobile phone, and told him softwares were in my phone, his face showed that he wanted me to disassemble the phone, and take out the "software" ...


I thought that was very endearing of him haha! The rural area sounds like a nice place...do you go there often?
On a related topic, Khan Academy has released a new program today: Computer Science.

http://www.khanacademy.org/cs/1-welcome-to-codecanvas/882454257

I envy the kids today.

This topic is closed to new replies.

Advertisement