I find this interesting how natural it comes to use people as a
metaphor to explain programs.
I found sometime ago that i could read an actual code like a prose to
someone who knows nothing about programming if i replace just one word
- "function" with almost any word for a person - worker, agent,
operator etc. (maybe just not a specific occupation like an actor).
Notice that only in programming you can call a function, and a
function can take and return something. Everywhere else you call a
person who can take and return something and a function is a purpose
of someone or something.
This unusual use of the word makes non programmers imagination stumble. And i
found that my imagination also stumbles on it. I know what "function"
means in context of programming but it does not paint a clear picture
in my head. Just like a bad prose.
I think we have a good metaphor for computation hidden by a wrong word.
I found sometime ago that i could read an actual code like a prose to someone who knows nothing about programming if i replace just one word - "function" with almost any word for a person - worker, agent, operator etc. (maybe just not a specific occupation like an actor).
Notice that only in programming you can call a function, and a function can take and return something. Everywhere else you call a person who can take and return something and a function is a purpose of someone or something.
This unusual use of the word makes non programmers imagination stumble. And i found that my imagination also stumbles on it. I know what "function" means in context of programming but it does not paint a clear picture in my head. Just like a bad prose.
I think we have a good metaphor for computation hidden by a wrong word.