The duality of computer programs is characterized, on the one hand, by their physical implementations on physical devices, and, on the other, by the conceptual implementations in programmers’ minds of the objects making up the computational processes they conceive. We contend that central to programmers’ conceptual implementations are (i) the concept of type, at both the programming and the design level, and (ii) metaphors created to facilitate these implementations.

Source link