Earlier quoted context omitted.
I don't agree. Modules and closures are needed in any serious JS development out there. Believe me. I worked in a codebase where they thought they "still need not know a single thing about those things" and boy was that a mess. No wonder JS devs are considered crappy coders with that kind of mindset.
Most sites are not one page apps. Their js is silo'd per page. You misinterpret my personal skill level, I don't believe you as I've worked on more than one codebase of both kinds. Most javascript today is still employed as the scripting language it was originally introduced for. It does very little apart from open a lightbox or get something via ajax or something trivial like that. There is a tiny % of javascript co…
What made you think that? My point is not that you suck as a developer.
Even when building tiny apps global variables are EVIL and they will eventually make you shoot yourself in the foot. Closures and modules are basic concepts in JavaScript because, well, the language is inherently flawed and you have to work around it.
> You don't have to be an architect in order to make a wall.
But you shouldn't bind bricks with gum either. If you do and the wall collapses, who's to blame? Would you teach bricklayers to bind with gum because using cement is hard for beginners?
This is not an architectural issue. This is about basic skills.
> Going in with advanced and abstract concepts like closures is a sure fire way to frustrate a student, not enlighten them.
I agree there, but my simile about the bricklayers and the gum stands. Sure, you'll frustrate beginners, but what about a last chapter about advanced techniques or at least mentioning it? Specially since closures are a core concept in JS.
Avoiding the issue will never turn beginners into advanced beginners/competent coders. Lack of information in key areas does more damage than excessive information because it creates a false sense of security that eventually leads to sore feet :)