Comment Make it fun, don't even attempt c/asm (Score 1) 799
The problem with using low level languages, or widely used commercial languages is that the languages are too complicated, the libraries are too big (Java,
Thinking back to when I learned to program in QBasic I think the ideal language is one that is simple to make stuff happen on screen (Most kids start programming so that they can make games, so you need something which gives them the impression, at least initially that graphics and interactivity is an achievable goal),is fairly limited in its base libraries (this forces you to learn to solve common comp sci problems, or at least think about solutions to them as the libraries won't do it all for you), and has a slow execution environment (this forces you to think of better ways to do things and work within the constraints of the language).
My suggestion is javascript/HTML, the IDE is the most familiar app to most computer users - the browser, you don't need any dev tools, its totally cross platform, you have access to a powerful and pretty easy to understand display engine with html/css and you can write anything from a picture gallery to a text adventure, to a mario clone depending on your skill level.