Terminology – Why Is Putting Something on the Stack Called Push?

pushstackterminology

According to http://dictionary.reference.com

push

verb (used with object)

  1. to press upon or against (a thing) with force in order to move it away.

  2. to move (something) in a specified way by exerting force; shove; drive: to push something aside; to push the door open.

  3. to effect or accomplish by thrusting obstacles aside: to push one's way through the crowd.

  4. to cause to extend or project; thrust.

  5. to press or urge to some action or course: His mother pushed him to get a job.

This IMO fits to FIFO queues. Is there an explanation for this?

Best Answer

According to legend, the original stack received its name by analogy to the stacks of dishes in the university cafeteria: you put one on top, and the (spring-loaded) stack of dishes goes down a bit, you take one away and it pops up a bit. Therefore 'pushing' received a connotation of operating downwards, even though you don't actually push down on the plate - you just set it down and gravity does the work. "Pushdown stack" is still a common phrase, and stacks tend to grow downwards in memory (i.e. with decreasing memory addresses), although it is doubtful whether that has anything to do with dish stacks or not.