I was discussing stacks with someone a while back. They are a basic element of computer software and architecture; just about any CPU will have several stack pointers as part of its built-in register set. But consider the mental picture. Programmers usually think of successively higher memory locations as going up in memory. And a stack is a last-in-first-out (LIFO) data structure, right? Now, would you store books -- even if they were all the same size -- in a tall, thin, vertical column, adding and removing them from the bottom of the pile? A disturbing concept. In fact, accounting, mathematics and many other disciplines use LIFO queues, but this does illustrate that computer people don't always think like "normal" folks.
Reference: Are you kidding?