A variable gives a value a name so you can reuse it in a calculation instead of repeatedly typing the value. In Julia, write `y = 7` to bind the identifier `y` to `7`. Then `z = 3` and `y + z + 2` produce `12`. section 2.2
The `=` operator binds a name to a value; `==` compares expressions for equality. A variable can be rebound: after `x = 2`, evaluating `x = x + 3` leaves `x` bound to `5`. Think of this as moving a name from the old result to the new one, rather than changing a number inside a fixed slot. section 2.2.1 section 2.7
The diagram follows the `x` label as it moves from the original value to the result of `x + 3`. section 2.2.1
A constant also gives a value a name, but unlike a variable, it is not meant to be changed; declare one with `const`. Identifiers are case-sensitive, so `foo` and `Foo` are different names. Reserved words such as `if`, `while`, and `const` cannot be variable names. section 2.2
