javascript added let and const in es6 (2015) to address the scoping problems.
Discussion
I'm aware of var and let and const (aware but not adept). People can and will still write hard to read code with distant vars, and you'll still have to read such code.
If you are disciplined, you can write C++ almost as good as rust now. But when reading C++ you never come across such disciplined code. When reading code you have to be aware now of all the different ways of doing it, which just grow and grow over time.
agreed. too many languages provide too many ways to do things. that’s one design decision Go got right, but even that is evolving into more complexity (generics, iterators, etc)