I am in love with Process Maps. What are they?
Whenever a program is loaded into memory and executed as a process, the OS doesn’t simply dump the executable, rather, arranges and structures various sections into segments – code, data, heap, stack etc. In case of dynamic languages there may not be a binary executable to begin with, so their process maps are populated gradually. C/C++ have relatively simple process maps where as others can be quite complex, like .NET has 9 distinct types of heap alone.
To understand how something works, it’s best to look it how it works internally. Visualise opening up the engine of a car to understand what gears do, what happens when we press the accelerator etc. Similarly, to understand programming, visualising the process map instead of just reading the syntax will make us understand it better