The Forth language uses two stacks, one for argument passing and one for subroutine return addresses. The use of a return stack is extremely commonplace, but the somewhat unusual use of an argument stack for a human-readable programming language is the reason Forth is referred to as a stack-based language.
Many Virtual Machines are stack-based, such as the Java virtual machine and the [Python virtual machine]?.