Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You'd be surprised. Off the top of my head:

Many are conditioned to see `x` as a fixed value for an equation (as in "find x such that 4x=6") rather than something that takes different values over time.

Similarly `y = 2 * x` can be interpreted as saying that from now on `y` will equal `2 * x`, as if it were a lambda expression.

Then later you have to explain that you can actually make `y` be a reference to `x` so that when `x` changes, you also see the change through `y`.

It's also easy to imagine the variable as the literal symbol `x`, rather than being tied to a scope, with different scopes having different values of `x`.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: