Human language and its role in reference-point errors — Craig S. Miller

What type of errors to novice programmers make? We have talked about that A LOT this week. How fabulous. Craig is going to talk about what underlying psychological phenomena might be there. An example:

Open the ice cream and serve two scoops

That is easy to do, but… what you mean is open the container of ice cream. This is a form of metonymy, but humans understand this without problems. It is a matter of domain knowledge too. Because now look at this:

The pitcher threw the ball to first base

The ball is not going to a place, but to a person playing on first base. I did not get that one correct, but you would if you know baseball. In summary, in human to human communication metonymy is fine. But… now programming!

What happens there is this:

But students get that wrong in various ways, like trying to add “apple” itself, or forget to include the “name” part, like this:


So, why do there occur? The short answer is: Craig does not know! The slightly longer answer is: Here are three reasons:

  • A deficient mental model of the task and context
  • They think the machine can fix it
  • It is a habit of communication based in natural language



1 Comment

  1. Alan Buxton

    This resonates very much with my experience: I once met a professor (not of software development, but of a business process subject) who had asked his students to flowchart “make a cup of tea”. Each group had a wildly different interpretation of the flowchart, and when they tried to literally follow each other’s flowchart they found a lot of things that had been taken for granted.

    Shows how hard it really is to think things through logically and define them clearly.

Comments are closed.