It crossed my mind how when I was starting to get into programming, I had a really hard time differentiating between "things that have to be written that way" and "things where I can choose how to name them".
This is somewhat alleviated by syntax highlighting and variable naming (like 'foo'), but take the first code block on the MDN JS Guide on Loops and Iteration[1] as an example:
`step` has the same highlighting as `console`. Does a loop always need something called `step`? Does it do something different if there is an `i` instead of `step` in some different example?
I find it hard to give really good examples, because now I immediately recognize where a variable is declared, which objects are just standard like `console` or what's a property with a standardized name like `array.length`, but I know for sure, that this was a significant cognitive load for me when I was starting out.
[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration