#1 Members - Reputation: 104
Posted 14 August 2012 - 12:20 AM
I think it's easier to explain programming than software. As for programming, you can give an example or a story to illustrate that, but how to explain software to a farmer with no knowledge about computer ?
In fact, my parents still have no idea about what I am doing in my office. How to explain software to them, as they have no knowledge about computer ?
#3 Staff - Reputation: 8877
Posted 14 August 2012 - 02:26 AM
Are they more familiar with other electronics such as a vcr that you might use as an example? If not, I'd look for a task where they are required to precisely follow steps, and compare software to a list of those steps.
- Jason Astle-Adams.
From my blog: 20 ways to advertise your game | What next? Intermediate to advanced C++
How to make games WITHOUT programming | 4 reasons you aren't a successful indie developer
#4 Members - Reputation: 104
Posted 14 August 2012 - 03:30 AM
Every time I said "Software is made by computer" or "Software is on the printer's motherboard","You can't touch, but they are there, you can only feel","they are only electrical signals", etc. the more explanation I made, the more confusion they get.
#6 Members - Reputation: 1937
Posted 14 August 2012 - 03:58 AM
Programming is going to school. Software is what they taught you in school (or uni). It makes you "function" properly in your everyday life and job.
You can look at the software in a cellphone as much as you can look at what's inside your brain.
Edited by samoth, 14 August 2012 - 03:59 AM.
#7 Members - Reputation: 1223
Posted 14 August 2012 - 04:26 AM
Maybe you need to start explain in simple terms how a computer is like a very eager but quite stupid worker, that needs to be told in detail what to do, but when told does it with extreme precision and speed.
And that almost all electronics today need a small computer to control how it works.
#9 Crossbones+ - Reputation: 1328
Posted 14 August 2012 - 01:06 PM
The concept of software will obviously be harder to explain to someone unfamiliar with computers - I think the trick is relating it to something they do personally understand, and this is where the analogy to recipes and cooking can be useful: most people are familiar with the idea of carefully following the steps in a recipe in order to cook something.
The problem with the cooking analogy -- which has always bugged me -- is that there aren't complicated control structures in cooking. Most recipes don't contain loops or conditionals.
I think a better, but still pretty bad, analogy is putting together Ikea furniture from the cartoon instructions in that those things usually have something like a for-each loop: do this set of instructions for each of the table's four legs, etc.
An even better analogy, although more arcane, is folding origami from diagrams. In this case there's an actual formal language in play albeit a visual one. Origami diagrams have been standardized since the 60's or so. However, they don't ever contain anything like an if-statement. Is there any simple activity that does contain something like an if branch?
Edited by jwezorek, 14 August 2012 - 03:59 PM.
#10 Members - Reputation: 964
Posted 14 August 2012 - 05:11 PM
but how to explain software to a farmer with no knowledge about computer ?
I might try to explain it by using an example he might be more familiar with. How about...
A record player is hardware.
A record is a storage device.
The bumps and groves on a record is software.
The bumps and grooves are used to produce the desired output on the speaker which is sounds.
I'd draw the parallel for a computer except that I'm not as sure how to explain modern media storage techniques. Isn't it still more or less little bits of magnetic stuff that act similar to the bumps and groves on a record?
The above may be an appropriate description for someone that wants a more concrete definition of what software physically is but for all practical purposes, software is what you run on a computer to perform various tasks.
#11 Crossbones+ - Reputation: 3500
Posted 14 August 2012 - 08:30 PM
Software is to a computer what rules are to a game. Suppose someone comes up to you and gives you a box containing a few various items which look like they may constitute some sort of game, but they omit to give you the rules, you won't know what to do and won't be able to play the game (you could make up your own rules, but you'd be playing a different game, not the one the person intended).
Same if you come up to someone and tell them two numbers. They'll just look at you blankly and say "great, what do you want?". You'll have to say what you want them to do with the numbers, e.g. add them, multiply them, compare them to find the larger one, remember them for later, etc...
#12 GDNet+ - Reputation: 342
Posted 15 August 2012 - 03:25 AM
#13 Crossbones+ - Reputation: 1136
Posted 15 August 2012 - 11:27 PM
The problem with the cooking analogy -- which has always bugged me -- is that there aren't complicated control structures in cooking. Most recipes don't contain loops or conditionals.
The BASIC programming manual that came either with my Atari 800 or TI-99 had a good cooking analogy for loops and conditionals. The example used was continually adding a pinch of salt to a dish and then tasting it until the flavour was correct.
#14 Members - Reputation: 104
Posted 16 August 2012 - 12:08 AM
When I was a child in elementary school, my cousin (also my classmate) and I went back to my home after school, and my father was out then, so dicided to make noodles, I added a scoop of salt, then he found it was too salt, and then I add a bowl of water, then I found it was tasteless, he then added a scoop of salt, and I found ...he then added a bowl of water ... then ... at the end, the boiler was full of water and it probablly could serve 10 people.The problem with the cooking analogy -- which has always bugged me -- is that there aren't complicated control structures in cooking. Most recipes don't contain loops or conditionals.
The BASIC programming manual that came either with my Atari 800 or TI-99 had a good cooking analogy for loops and conditionals. The example used was continually adding a pinch of salt to a dish and then tasting it until the flavour was correct.
That is:
while(true)
{
if(salt)
{
add_water();
contiune;
}
if(tasteless)
{
add_salt();
continue;
}
break;
}
#15 Crossbones+ - Reputation: 1136
Posted 16 August 2012 - 03:11 AM
while(true)
{
if(salt)
{
add_water();
contiune;
}
if(tasteless)
{
add_salt();
continue;
}
break;
}
My version would be more along the lines of:
[source lang="plain"]DO add_salt(scoop) taste() add_water(bowl) taste() IF pot = full THEN EXIT(FAIL)UNTIIL taste = rightEXIT(SUCCESS)[/source]
Edited by LennyLen, 16 August 2012 - 03:12 AM.
#16 Members - Reputation: 486
Posted 16 August 2012 - 10:06 PM
Once, my mother's brother asked me what software was, I said "for example, softwares were in my mobile phone", he said "open it, let me see it, can I touch it ?"
Tell him you can't open it cause the faries would escape. See, inside every mechanical device, there are many many fairies that float around and carry little pebbles that programmers like to call "bits." Software is basically a little radio recording that constantly plays on the faire's little ipods, telling them where to move the pebbles and, oh, if a green pebble happens to be on the right, then move the green one up. Then, the fairies from the computer tell the fairies from the minitor where to move the little color-coded pebbles inside the monitor (called "pixels") and that is how you see "Hello World!"
Eh the cooking analogy works better.
EDIT: Also, Richard Stallman is the head of the Fairy Union.
Edited by Koobazaur, 16 August 2012 - 10:07 PM.






