What Does Stack Mean?
A stack is a logical concept that consists of a set of similar elements. The term is often used in programming and memory organization in computers.
Programming stacks are based on the principle of last in first out (LIFO), a commonly used type of data abstract that consists of two major operations, push and pop. The push operation adds an element to the bottom of stack while the pop operation removes an element from the top position.
Software implementations of the stack concept are done using arrays and linked lists where the top position is tracked using a variable or header pointer respectively. Many programming languages provide built-in features to support stack implementation.
In information and communication technology (ICT), well-known types of stacks include:
Software stacks - programming components that work together to support an application's execution. LAMP (Linux, Apache, MYSQL, Perl or PHP or Python) is a popular software stack.
Full stacks - all the front-end and back-end technologies and skills that support an IT objective.
Protocol stacks - interconnectivity rules for a layered network model such as TCP/IP or Open Systems Interconnection (OSI). To become a stack, the protocols must be interoperable vertically between the layers of the network and horizontally between the end-points of each transmission segment.