Excellent how this problem is continuously attempted to be solved. As a wannabe programmer, one thing I always lacked from these sites was the ability to somehow see my code live. I.e. it's fun to write html and css on codecademy or python from LPTHW or whatever but how on earth do I get it on the web or assembled into .app? In actuality, the complexity that surrounds DNS providers, server apps (or whatever you call…
And this is why I always use PHP as an introductory language if I have to teach web dev; the setup part is much more straightforward than it is for Rails/Django/etc., and you don't have to spend a ton of time teaching dozens of concepts (MVC, routes, templating, git, unit tests, ORMs, etc.) before the students can have mini web apps written. Some programmers balk at the idea of teaching PHP with plain HTML/CSS instea…
You can add things like templates (they're built in, and can be really simple) or just concatenate HTML the old-fashioned way. You can program very imperatively and work up to abstractions. It's very friendly.
I haven't seen it used as an introductory "language" but I feel like it would work well.