Back in the day, when I created our intro class where we use Scheme, NetLogo and then later Python, I'd get similar pushback but then it was "why not Java?", "why not C?", or "whu not C++?"
Let's dive in.
Ubiquity and availability:
You can tweak websites almost live, use the HTML5 canvas pretty interactively and mode
It's quick to get up and running
This is all true, but there are also downsides.
I also prefer, where possible, to have kids learn locally so that they can learn something about the underlying operating system even if only at a user level.
A problem relating to the lack of tooling is the fact that a JS program can fail to run and not give you any meaningful feedback at all - this is a problem for a beginner.
which is pretty conventional, but then there's also
===. We have
potentially confusing scoping issues and also some other real
For more, check out the this video. Start watching at about 1:20 - it's a riot.
All of this weirdness actually makes sense - just not to a beginner.