Stacks in computer science aren’t random-access data structures, which arrays are. Conversely, arrays in computer science are by default thought of as having a fixed size, and don’t inherently have a dynamic size variable associated with them that would be necessary for a pop operation. You can implement a stack on top of an array, but that doesn’t mean that they are the same data structure. The array would be an implementation detail of the stack. (Alternatively, a stack can be implemented as a linked list.)