3

Non-technically, stack primarily means

1 A pile of objects, typically one that is neatly arranged.

But technically, in computer science, it means

1.7 Computing A set of storage locations which store data in such a way that the most recently stored item is the first to be retrieved.

(Source: Oxford Living Dictionaries)

When stack became a technical term, by what means did its meaning change from how things can be put together to where they can be put together?

  • I wonder whether the meaning has stayed the same. Even the technical usage still refers to a pile of memory locations, as opposed to a pile of physical objects. The memory locations can store things, but with, say, a stack of crates, you can store things in the (physical) stacked components as well. The physical stacks can even be exchanged. – Lawrence Jul 22 '17 at 10:30
  • I upvoted your question because it is interesting and well-presented, but what is the title's relevance? At the moment, it seems like that was what prompted the question, in which case it should probably go in the body as an anecdote. But I must agree - the name "StackExchange" is an interesting one. I would imagine it just rose out of StackOverflow's popularity and they needed a "holding site" for subsequent communities, and they combined the familiar "Stack" name with "Exchange" (presumably for "exchange of information"). – Dog Lover Jul 22 '17 at 10:36
  • @DogLover If you have a better title for my question, you are always welcome to edit it. For now I can't think of anything better... – ΥΣΕΡ26328 Jul 22 '17 at 10:38
  • 1
    @ΥΣΕΡ26328 You beat me to it. I was about to change the title to Change in meaning of the word "stack" in a technical context, but yours works just as well. – Dog Lover Jul 22 '17 at 10:43
  • 1
    I've always assumed that the original term was "Stack Overflow", a familiar term in some computer circles (at least among the old guys). "Stack Exchange" was derived from that, when they branched out to other topics. – Hot Licks Jul 22 '17 at 11:50
3

What I was taught in CS class is that the usage in computing is an analogy to a stack of plates (for example, at a restaurant). After washing the dishes, you add new plates onto the top of the stack. And when you want to take plates to set up tables, you take the plates off the top of the stack, in last-in first-out order.

In some restaurants they even use a kind of plate cart that enforces this way of stacking and un-stacking the plates:

enter image description here

When stack became a technical term, by what means did its meaning change from how things can be put together to where they can be put together?

The usage in computing doesn't refer to where the data is stored. It specifies the order that data can be retrieved. A stack (last-in first-out retrieval) is distinguished from a queue (first-in first-out) or a heap (random access retrieval), among other more esoteric arrangements.

  • Now explain what a "stack overflow" is. – Hot Licks Jul 22 '17 at 20:44
  • @HotLicks, presumably you know this, but for everyone else, a stack overflow is an error that happens when you try to add more data to the stack than the computer has memory available to hold. – The Photon Jul 22 '17 at 20:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.