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 STL map. The second definition is from functional programming, in which map applies 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.
What are the origins of the different definitions of map? I'm guessing that the second definition might have come from the mapcar function from McCarthy LISP, 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.