Dynamic scoping
Dynamic variable scoping is when you
scope a
variable in a programming language by replacing the existing variable of that name with a new variable temporarily, for instance for the duration of a function call. This is an easy way to implement private variables. However the problem is that if one function calls another, the other may accidentally modify the first function's variables when it
intended to modify a global variable instead. Therefore over time it is becoming more common for programming languages to implement private variables with
lexical variable scoping instead.