title: Origin of "map" in Computer Science
body: <p>In computer science, there are two definitions of the word map. The first is as an associative array, a type of container that maps values of one type to values of another type. An example of this is the <a href="http://www.cplusplus.com/reference/stl/map/" rel="nofollow noreferrer">STL map</a>. The second definition is from functional programming, in which map is a function that takes a list and a function, applies the function to all elements of the list in order, and returns a list of results. </p>
  
  <p>What are the origins of the different definitions of map? I'm guessing that the second definition might have come from the <a href="http://en.wikipedia.org/wiki/Lisp_(programming_language)#Control_structures" rel="nofollow noreferrer">mapcar function from McCarthy LISP</a>, but I'm not sure if that was derived from another useful. The first definition makes intuitive sense to me, but I'm not sure where it came from. </p>