# Origin of "mapping" as a technical term

In Computer Science, the word "Map" often refers to an associative array, i.e. a list of key-value pairs. You could think of this sort of data structure as being like a dictionary.

Likewise, as a verb, "mapping" refers to the process of associating keys with values.

Based on some dictionary searching, it seems that "mapping" as a verb has long meant to make a map, i.e. to draw out a representation of a geographic space.

I also see references to use in Mathematics that predate the use in Computer Science, which makes sense. OED provides this example of mathematical use:

1939 M. H. A. Newman Elem. Topol. Plane Sets of Points i. 12 A (1, 1)-correspondence is set up between the set of all positive integers, I, and the set of positive even integers, E, by mapping n of I on 2n of E.

However, it seems like using "map" as a verb meaning to associate values with each other is a major shift from the original meaning related to a graphical representation of geography.

So how did "map" evolve to have such a specific technical definition that seems quite different from its original meaning?

• I think map can be synonymous with morphing. A map, could be considered the morphing of a 3D environment, like streets, roundabouts, traffic lights etc, into a 2D environment represented on a piece of paper. Similarly in Computer Science the map function morphs a given value from a predefined range of values to a newly defined range values. May 26, 2017 at 0:21
• – user66974
May 26, 2017 at 7:05
• With CS being rooted in mathematics, and much of the important early work done by mathematicians, it would seem reasonable to look to the etymology of the mathematical sense for answers. Unfortunately formal mathematics definitions quite quickly confuse me so I wouldn't be much help May 26, 2017 at 14:14

Given the following definitions from Webopedia, I think that mapping is an extension by analogy of the term used in geography:

Map:

• (n.) A file showing the structure of a program after it has been compiled. The map file lists every variable in the program along with its memory address. This information is useful for debugging purposes. Normally a compiler will not produce a map file unless you explicitly ask for it by specifying the appropriate compiler option.

• (v.) (1) To make logical connections between two entities. Because programs cannot translate directly from human concepts to computer numbers, they translate incrementally through a series of layers. Each layer contains the same amount of information as the layer above but in a form somewhat closer to the form that the computer understands. This activity of translating from one layer to another is called mapping.

• The term map is often used to describe programming languages. For example, C is an efficient programming language because it maps well onto the machine language. What this means is that it is relatively easy to translate from the C language to machine languages.

Look here for the earliest "misuse" known to me: Math History: Who was the first to use the word “map” in its modern meaning in Mathematics?

"Map" and "Mapping" stayed in mathematics until today.

On top of that some other quick not extensive dates:

• 1913 Alfred H. Strutevant "Gene-mapping"
• 1931 Charles Williams Book: "The place of the lion" methaphor for mind as a map
• 1969 Robert E. Horn "information mapping"
• 1974 Tony Buzan "Mind Map"
• 1989 Jordan Peterson "Maps of meaning"
• 2004 Bronfen "Cross-Mapping"