2 ms·
It's not like working in another language at all (I speak English and Mandarin). When I try to explain to non-programmers what programming is like, the analogy
by imron 9y ago
It's not like working in another language at all (I speak English and Mandarin).
When I try to explain to non-programmers what programming is like, the analogy I like to use is drawing.
With drawing, you start of with a blank piece of paper, and someone asks you to draw something (or you decide to draw it for yourself) and so you draw away, adding bits here and bits there, adjusting things, erasing things, redoing mistakes and maybe even starting over entirely. Slowly it starts to take shape and you keep going until you are satisfied with the end result (though sometimes you are never fully satisfied and there are always small adjustments you feel you could make).
Each artist has their own style and you could ask 10 people to draw you a picture of a house or a dog, and you'd get 10 different pictures of houses and dogs, each one definitely a house or a dog (assuming competent artists here), but each one unique and drawn in the style of the individual artist.
Programming is then drawing with math and logic. You start with a blank file, and someone asks you to program something (or you decide to program it for yourself) and so you program away, adding bits here and bits there, adjusting things, erasing things, redoing mistakes and maybe even starting over entirely. Slowly it starts to take shape and you keep going until you are satisfied with the end result (though sometimes you are never fully satisfied and there are always small adjustments you feel you could make).
Each programmer has their own style and you could ask 10 programmers to implement a given program or feature and you'd get 10 different programs, each one matching the requirements (assuming competent programmers here) but each one unique and programmed in the style of the individual programmer.
Anyway, it's not a perfect analogy, but I've found it works quite well to explain things to non-programmers.