The history of bitcoin script's technical origin sometimes eludes even the most knowledgable on the subject. This is one instance where a strong understanding of computer science theory and ancient graybeard computing history makes contemporary complex subjects easier to understand. After all, bitcoin script is responsible for a growing portion of real commerce and trade, which ostensibly places importance on how that actually works under-the-hood. I think it's often overlooked.
As an undergraduate student I was forced to write programs in forth for a week to better understand the concept of a stack. Forth makes use of a stack with commands written in reverse polish notation or postfix notation. I would learn years later that Bitcoin script is exactly the same. This made understanding the blockchain a lot easier for me, so I'd like to share some resources that will make it easy for everybody else, too.
Anyone interested in the subject should already be reading Andreas M. Antonopoulos's book Mastering Bitcoin and they will eventually come across the chapter on Advanced Transactions and Scripting. However, without a good understanding of a stack or why postfix notation is advantageous for a compact scripting language, it might be difficult to make sense of how or why this method was chosen for bitcoin's scripting language.
With a device that plays video and an hour to kill this whiteboard presentation can go a long way to demystify some of it. Anyone that's a programmer can also follow along with my golang guide on forth with a helpful cli/repl here: https://github.com/metacoin/forth-stuff
I created this repo to help programmers better understand how forth works and ultimately grasp the concept of bitcoin script more easily. It should be used as an interactive supplimental guide for any other tutorial involving bitcoin script or its origins in forth.