I think the curriculum hides the code because its just so complicated. For example, just to build on the web he has to learn 3 different languages (HTML, CSS, JS). To do anything simple (like move a box on a screeen) there are too many choices (animated gif, CSS animation, JS animation, etc). Then there's complexity of code management (eg: this game uses just 1 big file) or deployment (how do you "run" your code).
So I believe simplifying things (i.e. Scratch) is a way to get people to do it without getting scared of the complexity. In our case, the goal is to learn the complexity, just in baby steps.
Appreciate your comments!